文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue3怎么限制table表格选项个数

2023-06-30 02:31

关注

这篇文章主要介绍了vue3怎么限制table表格选项个数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3怎么限制table表格选项个数文章都会有所收获,下面我们一起来看看吧。

问题描述

提示:这里描述具体问题:我们再用table表格的时候多多少少都会有限制个数的时候,在正常的表格上只有单选或或者多选的样式,没有在多选里面添加最多选几个选项的属性。

例如:我在table表格中只想选择两项。

vue3怎么限制table表格选项个数

原因分析:

提示:这里填写问题的分析:当前quasar框架不支持个数选择,只能自己来实现。

解决方案:

提示:这里填写该问题的具体解决方案:在选择框中有一个属性是selected-rows-label,这个数属性是当有选择框被点中的时候就会触发。利用这个属性来控制个数。原理是,在table中绑定一个数据,当勾选了一个选项时就会把选择的数据添加到这个数据中,进而会触发selected-rows-label属性,这个属性绑定一个函数,在函数中实现数据属性的长度。当数据长度大于2的时候就设置为2。这样就实现控制选项个数。

例如:下面就是我做的实验。在table可选这数据的时候限制只需选择两项。

下面是页面代码:

<div id="q-app" >  <div class="q-pa-md">    <q-table      title="Treats"      :rows="rows"      :columns="columns"      row-key="name"      :selected-rows-label="getSelectedString"      selection="multiple"      v-model:selected="selected"    ></q-table>    <div class="q-mt-md">      Selected: {{ JSON.stringify(selected) }}    </div>  </div></div>

下面js代码:

const { ref } = Vueconst columns = [  {    name: 'desc',    required: true,    label: 'Dessert (100g serving)',    align: 'left',    field: row => row.name,    format: val => `${val}`,    sortable: true  },  { name: 'calories', align: 'center', label: 'Calories', field: 'calories', sortable: true },  { name: 'fat', label: 'Fat (g)', field: 'fat', sortable: true },  { name: 'carbs', label: 'Carbs (g)', field: 'carbs' },  { name: 'protein', label: 'Protein (g)', field: 'protein' },  { name: 'sodium', label: 'Sodium (mg)', field: 'sodium' },  { name: 'calcium', label: 'Calcium (%)', field: 'calcium', sortable: true, sort: (a, b) => parseInt(a, 10) - parseInt(b, 10) },  { name: 'iron', label: 'Iron (%)', field: 'iron', sortable: true, sort: (a, b) => parseInt(a, 10) - parseInt(b, 10) }]const rows = [  {    name: 'Frozen Yogurt',    calories: 159,    fat: 6.0,    carbs: 24,    protein: 4.0,    sodium: 87,    calcium: '14%',    iron: '1%'  },  {    name: 'Ice cream sandwich',    calories: 237,    fat: 9.0,    carbs: 37,    protein: 4.3,    sodium: 129,    calcium: '8%',    iron: '1%'  },  {    name: 'Eclair',    calories: 262,    fat: 16.0,    carbs: 23,    protein: 6.0,    sodium: 337,    calcium: '6%',    iron: '7%'  },  {    name: 'Cupcake',    calories: 305,    fat: 3.7,    carbs: 67,    protein: 4.3,    sodium: 413,    calcium: '3%',    iron: '8%'  },  {    name: 'Gingerbread',    calories: 356,    fat: 16.0,    carbs: 49,    protein: 3.9,    sodium: 327,    calcium: '7%',    iron: '16%'  },  {    name: 'Jelly bean',    calories: 375,    fat: 0.0,    carbs: 94,    protein: 0.0,    sodium: 50,    calcium: '0%',    iron: '0%'  },  {    name: 'Lollipop',    calories: 392,    fat: 0.2,    carbs: 98,    protein: 0,    sodium: 38,    calcium: '0%',    iron: '2%'  },  {    name: 'Honeycomb',    calories: 408,    fat: 3.2,    carbs: 87,    protein: 6.5,    sodium: 562,    calcium: '0%',    iron: '45%'  },  {    name: 'Donut',    calories: 452,    fat: 25.0,    carbs: 51,    protein: 4.9,    sodium: 326,    calcium: '2%',    iron: '22%'  },  {    name: 'KitKat',    calories: 518,    fat: 26.0,    carbs: 65,    protein: 7,    sodium: 54,    calcium: '12%',    iron: '6%'  }]const app = Vue.createApp({  setup () {    const selected = ref([])    return {      selected,      columns,      rows,      getSelectedString () {        if(selected.value.length > 2){          **selected.value.length = 2**          return 0        } else {          return selected.value.length === 0 ? '' : `${selected.value.length} record${selected.value.length > 1 ? 's' : ''} selected of ${rows.length}`        }              }    }  }})app.use(Quasar, { config: {} })app.mount('#q-app')

关于“vue3怎么限制table表格选项个数”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue3怎么限制table表格选项个数”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯