ant Design vue 树表格table级联选择

 时间:2026-02-13 17:06:28

1、先写模板,注意:rowSelection

<template> 

<a-table :rowSelection="rowSelection" :columns="columns" :dataSource="data" />

</template>

2、照搬官方api

rowSelection #

选择功能的配置。

 data() {

  return {   

   selectedRowKeys:[] 

}, 

computed: { 

      rowSelection() { 

        const { selectedRowKeys } = this; 

        return {

         selectedRowKeys,

         onChange: this.onSelectChange,

         hideDefaultSelections: true,

         onSelect: this.onSelect,//触发级联的方法 

         }; 

     } 

 },

3、别眨眼,级联方法已就位,处理层级数据,理所当然想到了递归

methods: {

       onSelectChange(selectedRowKeys) { 

           console.log('selectedRowKeys changed: ', selectedRowKeys);

            this.selectedRowKeys = selectedRowKeys;

        },

        onSelect(record, selected){//每个复选框点击都会触发

        const selectrows=[record.key];

            if(record.hasOwnProperty('children')){

            const generator = (record) => {

            //这里做一个递归查找 

                record.forEach(item => { 

                selectrows.push(item.key)

                if (item.children && item.children.length > 0) { 

               generator(item.children,)

                }

                })

            }

            generator(record.children)

            }

            const newselect=this.selectedRowKeys.filter(item=>!selectrows.includes(item))

          //选中和取消选中的级联 

           selected ? (this.selectedRowKeys = [...this.selectedRowKeys,...selectrows]):(this.selectedRowKeys = newselect) 

        }

  }

至此树表格级联选择的功能已完成,关键代码就是onSelect,so Easy


  • 羊奶有哪些好处?
  • 治疗高血压的4个中药偏方
  • 虾皮鸡蛋饼做法
  • 家庭生活理财的四个账户
  • 情侣旅游去哪比较好?
  • 热门搜索
    中山旅游 西藏旅游路线 旅游社 温州旅游 烟台旅游 沙巴旅游攻略 柬埔寨旅游 昆明旅游景点 云南自由行旅游攻略 新加坡旅游