ant中table组件全选选中所有行(ant design2.2.8)

如需跳过过程,查看全部代码,请下拉到最后

过程:

1.先写一个有数据的table

在这里插入图片描述

2.增加rowKey

在table组件中增加rowKey=“id”
id为你对象数组中每个对象的id,如果对象中没有id ,该id为下标
在这里插入图片描述

3.分页

在这里插入图片描述

data中配置:

// 表格数据
tableData: [
{
id: 98,
name: “是二本”,
age: “1345”,
myname: “边缘设备”,
person: “geren”
},
{
id: 33,
name: “qerljk”,
age: “1231234”,
myname: “边缘设备”,
person: “geren”
}
],
// 表格配置的列
columns: columns,
// 分页配置
pagination: {
current: 1,
defaultCurrent: 1,
pageSize: 1,
onChange: this.onPageChange.bind(this)
},

方法中配置:
//翻页改变
onPageChange(current) {
this.pagination.current = current
},

4.为每个表格增加多选框

在这里插入图片描述

5.实现全选单选,和反选

在这里插入图片描述

完整代码块:

<a-table
    :row-selection="{
     selectedRowKeys: selectedRowKeys,
     onSelectAll: onSelectAll,
     onSelect: onSelect
     }"
     :columns="columns"
     :data-source="tableData"
      bordered
      :loading="tableLoading"  
      :pagination="pagination"
       rowKey="id"
       >
   <template v-slot:num="slotProps">{{
        (pagination.current - 1) *
         pagination.pageSize +slotProps.index +1
         }}</template>
   <template #releaseStatus="{ record }">
       <span>
         {{                                   record.releaseStatus == 0 ? "未发布": "已发布"}}
      </span>
   </template>
   <template #action="{ record }">
   <span @click="updateReleaseClick(record)" >
       <a class="release-text-c">发布</a>
         </span><span class="mar-L10"
            @click="rowClick(record)"
             <a>查看</a> </span>
               <span class="mar-L10"
                    @click="deleteData(record)" >
              <a class="del-text-c">删除</a>
               </span>
              </template>
</a-table>
<script>
const columns = [
    {
        title: "序号",
        width: 80,
        align: "center",
        slots: { customRender: "num" }
    },
    {
        title: "名称",
        dataIndex: "name",
        align: "center",
        key: "name",
        ellipsis: true
    },
    {
        title: "创建时间",
        dataIndex: "age",
        align: "center",
        key: "age"
    },
    {
        title: "发布的边缘设备名称",
        dataIndex: "myname",
        align: "center",
        key: "myname"
    },
    {
        title: "创建人",
        key: "person",
        align: "center"
    },
    {
        title: "操作",
        key: "action",
        align: "center",
        slots: { customRender: "action" }
    }
]

 data() {
        return {
         // 表格懒加载
            tableLoading: false,
            // 选中行  id数组
            selectedRowKeys: [],
             //  表格数据
            tableData: [
                {
                    id: 98,
                    name: "是二本",
                    age: "1345",
                    myname: "边缘设备",
                    person: "geren"
                },
                {
                    id: 33,
                    name: "qerljk",
                    age: "1231234",
                    myname: "边缘设备",
                    person: "geren"
                }
            ],
            //  表格配置的列
            columns: columns,
            // 分页配置
            pagination: {
                current: 1,
                defaultCurrent: 1,
                pageSize: 1,
                onChange: this.onPageChange.bind(this)
            },
             }
    },
    methods: {
		onSelect(record, selected, selectedRows, nativeEvent) {
            // console.log("单选选择")
            this.selectedRowKeys = selectedRows.map(pro => pro.id)
            console.log(this.selectedRowKeys)
        },
        onSelectAll(selected, selectedRows, changeRows) {
            // console.log("全选")
            if (selected) {
                // 全选
                this.selectedRowKeys = this.tableData.map(pro => pro.id)
            } else {
                // 反选
                this.selectedRowKeys = []
            }
            // console.log(this.selectedRowKeys)
        },
        }

总结

本文用于个人笔记,主要用于学习交流(ant design2.2.8)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值