vue 监听 Treeselect 选择项的改变操作


Posted in Javascript onAugust 31, 2020

项目中使用 Treeselect 时,需要获取选项的变化从而触发别的事件,所以需要监听Treeselect 所选择的值。

我使用了watch 来监听 treeselect 绑定的 model ,如果 model 的值发生变化就触发 currDeptChange 事件。

<el-form-item prop="deptId"
          :label="$t('deviceManage.device.table.deptId')+':'">
    <treeselect :options="deptTree"
          :normalizer="normalizer"
          v-model="formData.deptId"
          :placeholder="$t('deviceManage.device.dlg.deptId')">
    </treeselect>
</el-form-item>

监听 Treeselect 选择项的改变

watch: {
  // 监听deptId
  'formData.deptId': 'currDeptChange'
},
methods: {
  currDeptChange(val) {
   console.log('currDeptChange', val)
   if (val) {
    this.queryStaff()
   }
  },
  queryStaff() {}
}

补充知识:vue Treeselect 树形下拉框 : 获取选中节点的ids和lables

API: https://vue-treeselect.js.org/#events

1.ids: 即value

1.lable: 需要用到方法:@select(node,instanceId) 和 @deselect(node,instanceId)

vue 监听 Treeselect 选择项的改变操作

<template>
<treeselect ref="DRHA_EFaultModeTree"
       v-model="DRHA_EFaultModeTree_value"
       :multiple="true" 
       :options="DRHA_EFaultModeTree_options"
       :flat="true"
       :show-count="true"
       :disable-branch-nodes="true"
       :searchable="false"
       @select="DRHA_EFaultModeTree_handleSelect"
       @deselect="DRHA_EFaultModeTree_handleDeSelect"
       placeholder=" 请选择..."/>
 
 <p>lables:{{DRHA_EFaultModeTree_lables}}</p>
 <p>ids:{{DRHA_EFaultModeTree_value}}</p>
 
</template>
 
<script>
 // import the component
 import Treeselect from '@riophae/vue-treeselect'
 // import the styles
 import '@riophae/vue-treeselect/dist/vue-treeselect.css' 
 
 export default {
  components: { Treeselect },
  data() {
   return {
    
    DRHA_EFaultModeTree_value: null,
    DRHA_EFaultModeTree_lables: [],
    DRHA_EFaultModeTree_options: [ {
     id: '1',
     label: 'Fruits',
     children: [ {
      id: '1-1',
      label: 'Apple ?',
      isNew: true,
     }, {
      id: '1-2',
      label: 'Grapes ?',
     }, {
      id: '1-3',
      label: 'Pear ?',
     }, {
      id: '1-4',
      label: 'Strawberry ?',
     }, {
      id: 'watermelon',
      label: 'Watermelon ?',
     } ],
    }, {
     id: 'vegetables',
     label: 'Vegetables',
     children: [ {
      id: 'corn',
      label: 'Corn ?',
     }, {
      id: 'carrot',
      label: 'Carrot ?',
     }, {
      id: 'eggplant',
      label: 'Eggplant ?',
     }, {
      id: 'tomato',
      label: 'Tomato ?',
     } ],
    } ],
   };
  },
  mounted: function(){
    
  },
  methods: {
    DRHA_EFaultModeTree_handleSelect(node,instanceId){
    console.log("Select");
    this.DRHA_EFaultModeTree_lables.push(node.label);
   },
   DRHA_EFaultModeTree_handleDeSelect(node,instanceId){
    console.log("DeSelect");
    for (let i = 0;i<this.DRHA_EFaultModeTree_lables.length;i++){
     if(node.label == this.DRHA_EFaultModeTree_lables[i]){
      this.DRHA_EFaultModeTree_lables.splice(i,1);
     }
    }
   },
  }
 };
</script>

以上这篇vue 监听 Treeselect 选择项的改变操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
prototype Element学习笔记(Element篇三)
Oct 26 Javascript
js中的前绑定和后绑定详解
Aug 01 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
Apr 02 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
Apr 07 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
微信小程序 教程之注册程序
Oct 17 Javascript
在 Node.js 中使用 async 函数的方法
Nov 17 Javascript
vuejs实现折叠面板展开收缩动画效果
Sep 06 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
JavaScript函数Call、Apply原理实例解析
Feb 17 Javascript
基于JavaScript实现十五拼图代码实例
Apr 26 Javascript
搭建vscode+vue环境的详细教程
Aug 31 #Javascript
vue组件中实现嵌套子组件案例
Aug 31 #Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 #Javascript
详解vue v-model
Aug 31 #Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
Aug 31 #Javascript
vue路由结构可设一层方便动态添加路由操作
Aug 31 #Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 #Javascript
You might like
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
php include的妙用,实现路径加密
2008/07/29 PHP
php反弹shell实现代码
2009/04/22 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP PDOStatement::fetchAll讲解
2019/01/31 PHP
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
js判断是否是手机页面
2017/03/17 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
高三历史教学反思
2014/01/09 职场文书
四年级评语大全
2014/04/21 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
收款授权委托书
2014/10/02 职场文书
九寨沟导游词
2015/02/02 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
开工典礼致辞
2015/07/29 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang