当前位置: 首页 > wzjs >正文

网站升级建设中友情链接平台

网站升级建设中,友情链接平台,武汉网站建设兼职2017,网站服务器天付问题描述 如果数据的子节点命名时children,就没有任何问题,如果后端数据结构子节点是其他名字,比如thisChildList就有bug const tableData [{id: 1,date: 2016-05-02,name: wangxiaohu,address: No. 189, Grove St, Los Angeles,selectedAble: true,th…

问题描述

如果数据的子节点命名时children,就没有任何问题,如果后端数据结构子节点是其他名字,比如thisChildList就有bug

  const tableData = [{id: 1,date: '2016-05-02',name: 'wangxiaohu',address: 'No. 189, Grove St, Los Angeles',selectedAble: true,thisChildList: [{id: 131,date: '2016-05-01',name: 'wangxiaohu',address: 'No. 189, Grove St, Los Angeles',selectedAble: true,thisChildList: [...]},]

解决

参考大佬的代码
传送门


// 递归const setChildren = (children, type) => {// 编辑多个子层级children.map((j) => {toggleSelection(j, type)if (j.thisChildList) {setChildren(j.thisChildList, type)}})}// 选中父节点时,子节点一起选中取消const select = (selection, row) => {console.log('select!!')const hasSelect = selection.some((el) => {return row.id === el.id})console.log('hasSelect', hasSelect)if (hasSelect) {if (row.thisChildList) {// 解决子组件没有被勾选到setChildren(row.thisChildList, true)}} else {// 解决点击父组件取消选中,子级也跟着取消if (row.thisChildList) {setChildren(row.thisChildList, false)}}}const toggleSelection = (row, select) => {if (row) {// 通过使用 nextTick 来延迟执行后续的代码,以确保在更新表格的选中状态之前先进行其他可能的 DOM 更新nextTick(() => {// 这里 && 的作用是 如果左侧表达式的值为真值,则返回右侧表达式的值;// 否则,返回左侧表达式的值。如果左侧表达式的值为假值,则整个表达式的结果也为假值。// toggleRowSelection用于多选表格,切换某一行的选中状态, 如果使用了第二个参数,则可直接设置这一行选中与否multipleTable.value && multipleTable.value.toggleRowSelection(row, select)// 也可以写成 multipleTable.value?.toggleRowSelection(row, select)})}}// 选择全部 默认全选框只能影响第一级的 二、三等级别不会联动//   当用户手动勾选全选 Checkbox 时触发的事件const selectAll = (selection) => {console.log('selectAll——————selection', selection)// tabledata第一层只要有在selection里面就是全选const isSelect = selection.some((el) => {const tableDataIds = tableData.map((j) => j.id)return tableDataIds.includes(el.id)})// tableDate第一层只要有不在selection里面就是全不选const isCancel = !tableData.every((el) => {const selectIds = selection.map((j) => j.id)return selectIds.includes(el.id)})if (isSelect) {selection.map((el) => {if (el.thisChildList) {// 解决子组件没有被勾选到setChildren(el.thisChildList, true)}})}if (isCancel) {tableData.map((el) => {if (el.thisChildList) {// 解决子组件没有被勾选到setChildren(el.thisChildList, false)}})}}//   const selectionChange = (val) => {//     console.log(val)//   }

但仍然有问题,比如3级节点选中,他的父级节点无动于衷,不会联动

解决2

或者把thisChildList 改成children

function renameChildListToChildren(data) {if (!Array.isArray(data)) {return data;}return data.map(item => {const newItem = { ...item };if (newItem.thisChildList) {newItem.children = renameChildListToChildren(newItem.thisChildList);delete newItem.thisChildList;}return newItem;});
}const newData = renameChildListToChildren(tableData);
console.log(newData);

但是官方也有这个问题
在这里插入图片描述
二级不能影响一级的选中,有bug

http://www.dtcms.com/wzjs/245476.html

相关文章:

  • 公司免费注册什么叫seo优化
  • wordpress 插件 简码 使用app软件下载站seo教程
  • 网站前期准备工作台州网站建设优化
  • 做暖网站百度服务平台
  • 免费开通的网站郑州seo线上推广技术
  • 迅雷下载磁力天堂如何做谷歌优化
  • 全国小学网站建设软文营销名词解释
  • setnet科技网站建设站长之家关键词挖掘工具
  • 中文网站做google广告怎么样yandex引擎
  • 做网站用备案吗厦门百度seo
  • 暴雪vpseo技术培训沈阳
  • 编辑网站的软件网络推广最好的网站有哪些
  • 南宁网站建设nnit30成功的营销案例及分析
  • 兴宁市网站建设媒体推广
  • 淘宝做女鞋在哪个网站找货域名备案官网
  • 建建建设网站公司网站怎么样才能引流客人进店
  • 如何通过后台管理在网站的logo后台上加链接百度seo推广首选帝搜软件
  • 做产品网站要备案吗创意广告
  • 大学专业网站中视频自媒体平台注册
  • 网站建设做的快百度首页登录
  • 小米发布会图文seo网络优化招聘信息
  • 上海建设企业网站怎么查百度搜索排名
  • 个人网站可以做百度推广么上海关键词优化推荐
  • 自适应网站开发资源站长工具seo综合查询是什么
  • 成都高级网站建设网络营销
  • 营销型网站建设要懂代码吗百度一下百度一下
  • 网站后台优化免费学生网页制作成品
  • 做网站和优化的公司推广专员是做什么的
  • 企业宽带 做网站网络平台有哪些?
  • 镇海建设银行网站首页百度电脑版下载安装