亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3限制table表格選項個數(shù)的解決方法

 更新時間:2022年04月14日 16:55:53   作者:前端小白到專家  
這篇文章主要為大家詳細介紹了vue3限制table表格選項個數(shù)的解決方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

問題描述

提示:這里描述具體問題:我們再用table表格的時候多多少少都會有限制個數(shù)的時候,在正常的表格上只有單選或或者多選的樣式,沒有在多選里面添加最多選幾個選項的屬性。

例如:我在table表格中只想選擇兩項。

原因分析:

提示:這里填寫問題的分析:當前quasar框架不支持個數(shù)選擇,只能自己來實現(xiàn)。

解決方案:

提示:這里填寫該問題的具體解決方案:在選擇框中有一個屬性是selected-rows-label,這個數(shù)屬性是當有選擇框被點中的時候就會觸發(fā)。利用這個屬性來控制個數(shù)。原理是,在table中綁定一個數(shù)據(jù),當勾選了一個選項時就會把選擇的數(shù)據(jù)添加到這個數(shù)據(jù)中,進而會觸發(fā)selected-rows-label屬性,這個屬性綁定一個函數(shù),在函數(shù)中實現(xiàn)數(shù)據(jù)屬性的長度。當數(shù)據(jù)長度大于2的時候就設置為2。這樣就實現(xiàn)控制選項個數(shù)。

例如:下面就是我做的實驗。在table可選這數(shù)據(jù)的時候限制只需選擇兩項。

下面是頁面代碼:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue中 key keep-alive的實現(xiàn)原理

    Vue中 key keep-alive的實現(xiàn)原理

    這篇文章主要介紹了Vue中 key keep-alive的實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 仿vue-cli搭建屬于自己的腳手架的方法步驟

    仿vue-cli搭建屬于自己的腳手架的方法步驟

    這篇文章主要介紹了仿vue-cli搭建屬于自己的腳手架的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • vue下canvas裁剪圖片實例講解

    vue下canvas裁剪圖片實例講解

    在本篇文章里小編給大家整理了關于vue下canvas裁剪圖片實例講解內容,需要的朋友們可以參考下。
    2020-04-04
  • vue2 設置router-view默認路徑的實例

    vue2 設置router-view默認路徑的實例

    今天小編就為大家分享一篇vue2 設置router-view默認路徑的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue刷新頁面后params參數(shù)丟失的原因和解決方法

    vue刷新頁面后params參數(shù)丟失的原因和解決方法

    這篇文章主要給大家介紹了vue刷新頁面后params參數(shù)丟失的原因和解決方法,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • vue3路由router.push的使用以及問題分析

    vue3路由router.push的使用以及問題分析

    頁面跳轉有很多方法,本次使用的是?vue-router,但卻在使用?router.push?的時候遇到了點麻煩,所以記錄下來,希望可以幫助有需要的人
    2023-09-09
  • 分析 Vue 中的 computed 和 watch 的區(qū)別

    分析 Vue 中的 computed 和 watch 的區(qū)別

    這篇文章分析 Vue 的 computed 和 watch 的區(qū)別,computed 用來監(jiān)控自己定義的變量,頁面上可直接使用。watch 是監(jiān)測 Vue 實例上的數(shù)據(jù)變動,通俗地講,就是檢測 data 內聲明的數(shù)據(jù),需要的朋友可以參考一下
    2021-09-09
  • antd vue 刷新保留當前頁面路由,保留選中菜單,保留menu選中操作

    antd vue 刷新保留當前頁面路由,保留選中菜單,保留menu選中操作

    這篇文章主要介紹了antd vue 刷新保留當前頁面路由,保留選中菜單,保留menu選中操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue3項目導入異常Error:@vitejs/PLUGIN-vue?requires?vue?(>=3.2.13)解決辦法

    vue3項目導入異常Error:@vitejs/PLUGIN-vue?requires?vue?(>=3.2.13

    這篇文章主要給大家介紹了關于vue3項目導入異常Error:@vitejs/PLUGIN-vue?requires?vue?(>=3.2.13)的解決辦法,文中將解決辦法介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • Message組件實現(xiàn)發(fā)財UI?示例詳解

    Message組件實現(xiàn)發(fā)財UI?示例詳解

    這篇文章主要為大家介紹了Message組件實現(xiàn)發(fā)財UI的手寫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論