vue3+antdv+table选择

 <a-table
      :row-selection="rowSelection"
      :scrollToFirstRowOnChange="true"
      class="ant-table-striped"
      sticky
      :row-class-name="(_record: Record<string, any>, index: number) => (index % 2 === 1 ? 'table-striped' : null)"
      :dataSource="dataSource"
      :columns="columns"
      :pagination="pagination"
      :loading="loading"
      rowKey="id"
      :scroll="scroll"
      @change="handleTableChange"
    ></a-table>
const selectedApiRowKeys: Ref<string[]> = ref([]);
const rowSelection: TableProps['rowSelection'] = {
  selectedRowKeys: selectedApiRowKeys.value,
  onSelect: (record: Record<string, any>, selected, _selectedRows, _nativeEvent) => {
    if (selected) selectedApiRowKeys.value.push(record.id);
    if (!selected)
      selectedApiRowKeys.value.splice(
        0,
        selectedApiRowKeys.value.length,
        ...selectedApiRowKeys.value.filter(item => item !== record.id),
      );
  },
  onSelectAll: (selected, selectedRows, changeRows) => {
    if (selected) {
      selectedApiRowKeys.value.splice(
        0,
        selectedApiRowKeys.value.length,
        ..._.union(
          selectedApiRowKeys.value,
          selectedRows.map(item => item.id),
        ),
      );
    }

    if (!selected) {
      selectedApiRowKeys.value.splice(
        0,
        selectedApiRowKeys.value.length,
        ...selectedApiRowKeys.value.filter(item => !changeRows.map(item => item.id).includes(item)),
      );
    }
  },
  getCheckboxProps: (_record: DataType) => ({
    // disabled: record.name === 'Disabled User', // Column configuration not to be checked
    // name: record.name,
  }),
};```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值