星里有你~ 2023-12-25 16:06 采纳率: 0%
浏览 8

如何用elementUI的Cascader级联选择器实现单级可全选

如图,如何用elementUI的Cascader级联选择器实现每级可全选,反选且不影响子级的状态,单级的选项非全部选中时,全选项不被勾上

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-25 21:34
    关注

    【相关推荐】



    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7398528
    • 这篇博客你也可以参考下:elementUI中的cascader级联选择器组件清除选中值
    • 除此之外, 这篇博客: 关于element的cascader级联选择器,选择任意一级选项,设置默认值及回显的问题中的 关于element的cascader级联选择器,选择任意一级选项,设置默认值及回显的问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      记录一下解决cascader级联选择器,选择任意一级选项设置默认值的问题,包括回显问题
      element 里关于默认值的描述: Alt
      没有默认值具体的数据结构,使用v-model绑定一个值,看到了选择任意一级的数据结构。
      Alt
      知道需要拼接数组的最终情况以后,创建一个事件用来根据value,获得这个值对应的数组。
      以下是个人写的方法,可以参考:

      getArr (dataSource, id) { // dataSource 这个是选择器的数据源  id 是 目标id
            const arrRes = []
            dataSource.some(item => {
              if (item.value == id) {
                arrRes.unshift(item.value)
                return true
              } else {
                if (item.children) {
                  item.children.some(item1 => {
                    if (item1.value == id) {
                      arrRes.unshift(item1.value)
                      arrRes.unshift(item.value)
                      return true
                    } else {
                      if (item1.children) { // item1.children 判断 防止不存在对应的三级数据
                        item1.children.some(item2 => {
                          if (item2.value == id) {
                            arrRes.unshift(item2.value)
                            arrRes.unshift(item1.value)
                            arrRes.unshift(item.value)
                            return true
                          }
                        })
                      }
                    }
                  })
                }
              }
            })
            console.log('递归组织树结果', arrRes)
            return arrRes // 返回最终根据id查找出来的数组
          },
      

      走到这一步,Cascader 级联选择器 组件可以显示出效果,就是还差一个标签的回显。
      这个我是通过Vue组件强制刷新(重新渲染)的四种方案的第四种,
      参考

      组件强制渲染的四种方法

      到这里就完事了,我并不确定这是最好的解决办法,假如有更好法子的大牛欢迎留言提意见,谢谢!


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月25日

悬赏问题

  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵
  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题
  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M