vue-quasar之table

1.实现table表格的复选框,

代码如下

<tempalte>
  <div>
    <q-table
      title="已选兑换商品"
      :data="data"
      selection="multiple"   //1
      :selected.sync="selected"  //2    //div里面的1,2,3与script中的4主要是用于实现复选框
      :columns="columns"
      row-key="name"
    >
      <template v-slot:top-right>
        <q-btn
          color="primary"
          icon-right="archive"
          label="兑换"
          no-caps
          @click="checkItems"
        />
      </template>
      <template v-slot:body="props">
        <q-tr :props="props">
          <q-td width="52">
            <q-checkbox dense v-model="props.selected" color="orange-12" />    // 3.主体部分
          </q-td>
          <q-td key="name" :props="props">
            {{ props.row.name }}
          </q-td>
          <q-td key="calories" :props="props">
            {{ props.row.calories }}
            <q-popup-edit v-model="props.row.calories" title="数量" buttons>
              <q-input type="number" v-model="props.row.calories" dense autofocus />
            // 此处可以点击输入
            </q-popup-edit>
          </q-td>
          <q-td key="fat" :props="props">
            <q-badge color="purple">
              {{ props.row.fat }}
            </q-badge>
          </q-td>
       </q-tr>
    </template>
  </div>
</template>
<script>
  export default {
    data () {
      return {
      selected: [],   //4
      columns: [
        {
          name: 'name',
          required: true,
          label: '商品',
          align: 'left',
          field: row => row.name,
          format: val => `${val}`,
          sortable: true
        },
        { name: 'calories', align: 'center', label: '数量', field: 'calories', sortable: true },
        { name: 'fat', label: '积分', field: 'fat', sortable: true }
      ],

      data: [
        {
          name: '垃圾袋',
          calories: 159,
          fat: 6.0
        },
        {
          name: '手抽纸',
          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
        },
        {
          name: '垃圾桶',
          calories: 375,
          fat: 0.0
        },
        {
          name: '牙刷',
          calories: 392,
          fat: 0.2
        },
        {
          name: '吹风机',
          calories: 408,
          fat: 3.2
        },
        {
          name: 'Donut',
          calories: 452,
          fat: 25.0
        },
        {
          checkbox: '',
          name: 'KitKat',
          calories: 518,
          fat: 26.0
        }
      ]
   }
  },
  methods: {
    checkItems() {}
  }
}
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。