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 相关文章推荐
javascript脚本编程解决考试分数统计问题
Oct 18 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 Javascript
JavaScript将数组转换成CSV格式的方法
Mar 19 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
Mar 01 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 Javascript
jQuery日期范围选择器附源码下载
May 23 jQuery
详解JavaScript中的函数、对象
Apr 01 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 Javascript
React学习之JSX与react事件实例分析
Jan 06 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
Oct 24 Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
搭建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
PHP安全防范技巧分享
2011/11/03 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
css图片自适应大小
2007/11/28 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
jquery foreach使用示例
2013/09/12 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
python 文件和路径操作函数小结
2009/11/23 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
详解python基础之while循环及if判断
2017/08/24 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python3中exp()函数用法分析
2019/02/19 Python
python assert的用处示例详解
2019/04/01 Python
Python logging模块原理解析及应用
2020/08/13 Python
Linux中如何用命令创建目录
2015/01/12 面试题
运动会入场式解说词
2014/02/18 职场文书
启动仪式策划方案
2014/06/14 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
python缺失值的解决方法总结
2021/06/09 Python