亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3怎么限制table表格選項個數

發布時間:2022-04-15 10:22:56 來源:億速云 閱讀:251 作者:iii 欄目:開發技術

這篇文章主要介紹了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 } = 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')

關于“vue3怎么限制table表格選項個數”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“vue3怎么限制table表格選項個數”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赫章县| 武威市| 乌什县| 康乐县| 龙南县| 盐亭县| 桃江县| 广水市| 浙江省| 阜宁县| 沙田区| 西城区| 东乡族自治县| 碌曲县| 屯昌县| 博乐市| 柯坪县| 辉县市| 凉山| 宜黄县| 延庆县| 修武县| 安西县| 建阳市| 岑巩县| 民丰县| 历史| 铜陵市| 洪雅县| 贞丰县| 屏东县| 库尔勒市| 贺兰县| 枞阳县| 兖州市| 射洪县| 肇庆市| 镇赉县| 寻乌县| 英吉沙县| 江永县|