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

vue-treeselect 【单选/多选】的时候只选择最后一层(绑定的值只绑定最后一层)

欢迎访问我的个人博客 |snows_l's BLOGhttp://snows-l.site

一、单选

       1、问题:

        vue-treeselect 单选的时候只选择最后一层(绑定的值只绑定最后一层)

       2、方法

        1、只需要加上  :disable-branch-nodes="true" 就行,官方解释为:禁用节点

                设置 disableBranchNodes: true 为使分支节点不可检查,并将其仅视为可折叠文件夹

        2、代码如下:
// template
<XTreeselect
  v-if="form.type == '2'"
  v-model="form.id"
  :options="versionList"
  :normalizer="tenantIdnormalizer"
  :disable-branch-nodes="true"
  @input="handleVersionChange"
  noOptionsText="暂无数据"
  placeholder="点击选择"
></XTreeselect>

js

// 整理后端数据给组件使用
tenantIdnormalizer(node) {
  if (node.child && !node.child.length) {
    delete node.children;
  }
  return {
    id: node.id || "0",
    label: node.name,
    children: node.child,
  };
},


// 改变的因需求而定  
handleVersionChange(val) {
  if (this.form.type == 1) {
    this.form.version = this.versionList.find(
      (item) => item.value == val
    ).label;
  } else {
    let arr = this.flattenTree(this.versionList, "child");
    let row = arr.find((item) => item.id == val);
    if (row) {
      this.form.version = row.name;
    }
  }
},

二、多选

       1、问题:

        vue-treeselect 多选的时候只选择最后一层(绑定的值只绑定最后一层)

       2、方法

        1、只需要加上  value-consists-of="LEAF_PRIORITY"  就行,官方解释为: 防止价值组合 

对于非固定和多选模式,如果选中了分支节点及其所有后代,则vue-treeselect会将它们组合到值数组中的单个项目中,如以下示例所示。通过使用valueConsistsOf道具,您可以更改该行为。该道具有四个选项:

  • "ALL" - 选中的所有节点都将包含在 value 数组中
  • "BRANCH_PRIORITY"(默认)-如果选中了分支节点,则其所有后代将被排除在value 数组之外
  • "LEAF_PRIORITY" - 如果选中了分支节点,则此节点本身及其分支后代将从value阵列中排除,但其叶后代将包括在内
  • "ALL_WITH_INDETERMINATE" -选中的任何节点将包括在value 数组中,另外还有不确定的节点

           2、代码图下
// template
<XTreeselect
  v-model="form.model"
  :multiple="true"
  :options="manufacturerModelList"
  value-consists-of="LEAF_PRIORITY"
  :normalizer="tenantIdnormalizer"
  noOptionsText="暂无数据"
  placeholder="点击选择"
></XTreeselect>

js通单选

相关文章:

  • 热key探测技术架构设计与实践
  • AI战略家:AI政务应用思考——AI与区块链融合对政府权力结构的重构:从“技术赋能”到“制度革命”
  • 音视频入门基础:RTP专题(20)——通过FFprobe显示RTP流每个packet的信息
  • RabbitMQ 基本原理详解
  • mysql数据库中多张表导出成excel方式
  • 【蓝桥杯速成】| 4.递归
  • CTP开发爬坑指北(九)
  • spring声明式事务原理01-调用第1层@Transactional方法(事务访问入口)
  • [蓝桥杯]花束搭配【算法赛】
  • Ubuntu从源码安装Webots
  • 网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
  • MySQL相关参数
  • 【C++多线程】thread
  • SDL3 游戏开发 Windows 环境搭建
  • 介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测
  • Matlab 矢量控制和SVPWM的感应电机控制
  • 算法——图论——关键活动
  • Blender插件NodeWrangler导入贴图报错解决方法
  • Docker生存手册:安装到服务一本通
  • Razor C# 变量
  • 云南城市建设职业学校官方网站/昆山优化外包
  • 自己做网站申请域名/公众号开发网站公司
  • 新手做的网站/如何推广普通话
  • 天津企业网站排名优化/网络推广是什么
  • 深圳网站制作首荐祥奔科技/刚出来的新产品怎么推
  • 山东政府网站建设特色/腾讯体育nba