vue3 - elementPlus表格table树形结构复选框勾选父子联动示例,el-table树状表格tree复选框checkbox多选框全选/反选取消,children当子级全选中,父级自动勾选

效果图

在 vue3+element plus 项目中,实现el-table树形表格每行加入Checkbox多选框(树形表格+多选),Tree树状表格实现复选框多选效果,选中父节点同时勾选其所有子节点(点击某一行也可以进行勾选),elementPlus表格树形结构嵌套复选框全选全不选功能,子集没全选是父级不勾选子集全选后父级自动勾选,在header头部有一个全选/反选按钮,点击后选中全部表格列表或取消全部选择,并且表格行row与复选框全选之间相互联动,支持动态接口数据传入或懒加载数据、表格分页等!

提供详细示例代码,新手小白复制稍微改改就能用了。

在这里插入图片描述

完整源码

直接复制运行,根据自己的需求简单修改下!

可以使用vant的TreeSelect组件,在设置v-model绑定值,将的id都存储在同一个数组中,然后在渲染树节点,判断当前节点id是否在已选中的数组中,如果是,则默认勾选该节点,并递归勾选其所有节点。 示例代码如下: ``` <template> <van-tree-select v-model="selected" :items="treeData" :main-active-index="mainActiveIndex" :active-id="activeId" @click-nav="onClickNav" @click-item="onClickItem" /> </template> <script> export default { data() { return { treeData: [ { text: &#39;1&#39;, id: 1, children: [ { text: &#39;1-1&#39;, id: 11 }, { text: &#39;1-2&#39;, id: 12 }, { text: &#39;1-3&#39;, id: 13 }, ], }, { text: &#39;2&#39;, id: 2, children: [ { text: &#39;2-1&#39;, id: 21 }, { text: &#39;2-2&#39;, id: 22 }, { text: &#39;2-3&#39;, id: 23 }, ], }, ], selected: [11, 2], // 已选中的节点id数组 mainActiveIndex: 0, activeId: 1, }; }, methods: { // 点击导航栏事件 onClickNav({ index }) { this.mainActiveIndex = index; }, // 点击树节点事件 onClickItem({ item }) { const index = this.selected.indexOf(item.id); if (index > -1) { this.selected.splice(index, 1); } else { this.selected.push(item.id); } }, // 渲染树节点前的判断 renderContent(h, { node, data }) { const isSelected = this.selected.includes(data.id); const props = { props: { ...node.props, checked: isSelected, }, on: { ...node.on, click: () => { this.onClickItem({ item: data }); }, }, }; return ( <van-tree-select-node {...props}> {data.text} </van-tree-select-node> ); }, }, }; </script> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十一猫咪爱养鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值