iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue3限制table表格选项个数的解决方法
  • 149
分享到

vue3限制table表格选项个数的解决方法

2024-04-02 19:04:59 149人浏览 八月长安
摘要

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

问题描述

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

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

原因分析:

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

解决方案:

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

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

下面是页面代码:

<div id="q-app" style="min-height: 100vh;">
  <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 } = Vue

const 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')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: vue3限制table表格选项个数的解决方法

本文链接: https://www.lsjlt.com/news/146048.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3限制table表格选项个数的解决方法
    问题描述 提示:这里描述具体问题:我们再用table表格的时候多多少少都会有限制个数的时候,在正常的表格上只有单选或或者多选的样式,没有在多选里面添加最多选几个选项的属性。 例如:我...
    99+
    2024-04-02
  • vue3怎么限制table表格选项个数
    这篇文章主要介绍了vue3怎么限制table表格选项个数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3怎么限制table表格选项个数文章都会有所收获,下面我们一起来看看吧。问题描述提示:这里描述具体问题...
    99+
    2023-06-30
  • 利用Vue3实现可复制表格的方法详解
    目录前言最基础的表格封装实现复制功能处理表格中的不可复制元素测试前言 表格是前端非常常用的一个控件,但是每次都使用v-for指令手动绘制tr/th/td这些元素是非常麻烦的。同时,基...
    99+
    2022-12-12
    Vue3实现可复制表格 Vue 可复制表格 Vue3 表格
  • js实现表格拖动选项的方法
    小编给大家分享一下js实现表格拖动选项的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下题目要求如下图所示,具体思路:拖动改变选择项,用的的事件是j...
    99+
    2023-06-14
  • Vue3实现动态导入Excel表格数据的方法详解
    目录1.  前言2.  如何实现2.1使用技术2.2实现思路2.3具体实现方案1.  前言 在开发工作过程中,我们会遇到各种各样的表格数据导入,大部分我...
    99+
    2022-11-16
    Vue 动态导入Excel数据 Vue 导入Excel数据 Vue Excel 数据
  • vue3 el-table结合seamless-scroll实现表格数据滚动的思路详解
    github开源地址:https://github.com/xfy520/vue3-seamless-scroll 步骤 1. 安装 npm install vue3-seamles...
    99+
    2024-04-02
  • getdata table表格数据join mysql方法的示例分析
    这篇文章主要为大家展示了“getdata table表格数据join mysql方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“getdata ta...
    99+
    2024-04-02
  • phpmyadmin导入限制2m的解决方法
    小编给大家分享一下phpmyadmin导入限制2m的解决方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!phpmyadmin导入限制2m怎么改?第一步,在PHP.ini配置文件中找到up...
    99+
    2024-04-02
  • uniapp中table表格设置宽度无效的原因以及解决方法
    目录前言一、示例二、原因三、拓展总结table表格设置标题无效解决办法及原因探索 此属性并不只限于uniapp同时适用于普通表格设置 前言 本篇文章讲解了,实际开发中发现表格设置的宽...
    99+
    2023-05-14
    table宽度不生效 vue中的table uniapp table表格设置宽度
  • elementUI的table表格改变数据不更新问题解决
    预期效果:点击输入框旁边的图标,输入框变为可输入状态;这里控制输入的 editable 字段不是 data 原有的属性,也不是 data 赋值时就存在的字段。 问题原因:在 Vue...
    99+
    2024-04-02
  • python爬虫IP被限制的解决方法
    这篇文章主要介绍python爬虫IP被限制的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;...
    99+
    2023-06-14
  • Python爬虫的IP被限制的解决方法
    小编给大家分享一下Python爬虫的IP被限制的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!宽带拨号换IP。如果没有路由器,可以在宽带连接中,直接把网络...
    99+
    2023-06-15
  • dedecms限制会员每天投稿数量的解决方法
    经常有人提问怎么限制会员每天发稿数量?今天小编给大家介绍如何限制会员的投稿,当然,这是针对于dedeCMS教大家用一段代码实现每天的数量。 具体解决方法: 第一步:用FTP工具连接网站,在网站的根目录,找到member/art...
    99+
    2024-04-02
  • 关于Element-ui中Table表格无法显示的问题及解决
    目录Element-ui中Table表格无法显示1、准备工作2、引用Element-ui官方文档中的Table表格代码3、启动端口,并在浏览器访问Element-ui表格不生效问题原...
    99+
    2022-11-13
    Element-ui中Table表格 Table表格无法显示 Element-ui Table
  • Django表单外键选项初始化的问题及解决方法
    问题描述 先说明一下问题的由来: Django的模型中经常会用ForeignKey来关联其他表格数据 class MeasureTask(models.Model): t...
    99+
    2024-04-02
  • Word 网页版中的段落选项:个性化定制方法详解
    对于 Web 用户的 Word 来说是个好消息。Microsoft今天宣布, Word for Web 中的所有用户现在都可以使用新的段落选项。这些选项允许用户自定义 Word 中的段落选项及其分页方式。“多年来,段落选项一直是Word f...
    99+
    2023-08-03
  • elementUI的table表格改变数据不更新问题如何解决
    这篇文章主要介绍“elementUI的table表格改变数据不更新问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“elementUI的table表格改变数据不更新问题如何解决”文章能帮助大...
    99+
    2023-06-29
  • excel表格无法输入汉字的解决方法
    这篇文章给大家分享的是有关excel表格无法输入汉字的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解决方法:首先把鼠标放在图形的输入法上面,点击鼠标右键;然后在弹出的右键菜单中选择“设置”;接着在弹出的...
    99+
    2023-06-15
  • mysql删除多个表格数据库数据的方法
    mysql删除多个表格数据库数据的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql删除多个表格数据库数据的方法...
    99+
    2024-04-02
  • AntDesign Vue中表格无法编辑的解决方法
    这篇文章主要为大家展示了“AntDesign Vue中表格无法编辑的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“AntDesign Vue中表格无法编辑的解决方法”这篇文章吧。Ant ...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作