亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Vue Js:如何在 Vue 數據表組件中添加序列號列

Vue Js:如何在 Vue 數據表組件中添加序列號列

叮當貓咪 2022-09-16 21:44:51
我正在使用組件在我的應用中顯示數據表。有沒有辦法在此數據表中添加序列號列。從1到我的文章數組的長度開始。<v-data-table>如果任何帶有任何id的文章首先出現,它應該從1開始。
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

沒有內置的方法來執行此操作,但是您可以通過添加計算屬性并使用方法向每個項目添加新屬性來實現它,例如 ,它代表序列號。您可以根據需要重命名它。.map()sno


computed: {

   itemsWithSno() {

      return this.desserts.map((d, index) => ({ ...d, sno: index + 1 }))

   }

},

接下來,只需在標頭數組中添加一個新列即可映射此新屬性,如下所示:


{

   text: 'Serial #',

   value: 'sno'

},

此處的值需要與在計算屬性中添加的新屬性名稱完全相同。sno


接下來,只需更新 prop 以使用計算屬性,而不是原始數組,如下所示:v-data-tableitemsitemsWithSno


<v-data-table :headers="headers" :items="itemsWithSno">

</v-data-table>

就是這樣。


工作演示:


new Vue({

  el: '#app',

  vuetify: new Vuetify(),

  computed: {

    itemsWithSno() {

      return this.desserts.map((d, index) => ({ ...d, sno: index + 1 }))

    }

  },

  data() {

    return {

      headers: [{

          text: 'Serial #',

          value: 'sno'

        },

        {

          text: 'Dessert (100g serving)',

          align: 'start',

          sortable: false,

          value: 'name',

        },

        {

          text: 'Calories',

          value: 'calories'

        },

        {

          text: 'Fat (g)',

          value: 'fat'

        }

      ],

      desserts: [{

          name: 'Frozen Yogurt',

          calories: 159,

          fat: 6.0

        },

        {

          name: 'Ice cream sandwich',

          calories: 237,

          fat: 9.0

        },

        {

          name: 'Eclair',

          calories: 262,

          fat: 16.0

        },

        {

          name: 'Cupcake',

          calories: 305,

          fat: 3.7

        },

        {

          name: 'Gingerbread',

          calories: 356,

          fat: 16.0

        }

      ],

    }

  },

})

<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">

<link href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" rel="stylesheet">

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" rel="stylesheet">

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.js"></script>


<div id="app">

  <v-app>

    <v-main>

      <v-container>

        <v-data-table :headers="headers" :items="itemsWithSno" class="elevation-1">

        </v-data-table>

      </v-container>

    </v-main>

  </v-app>

</div>


查看完整回答
反對 回復 2022-09-16
  • 1 回答
  • 0 關注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號