网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

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


© 2026 智德知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com