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 相关文章推荐
jQuery 技巧小结
Apr 02 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
JavaScript中的原型和继承详解(图文)
Jul 18 Javascript
js常用系统函数用法实例分析
Jan 12 Javascript
JS制作手机端自适应缩放显示
Jun 11 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 Javascript
bootstrap实现图片自动轮播
Dec 21 Javascript
js编写选项卡效果
May 23 Javascript
form表单序列化详解(推荐)
Aug 15 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
Oct 25 Javascript
Node.js笔记之process模块解读
May 31 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
php获取后台Job管理的实现代码
2011/06/10 PHP
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
Jquery 获取对象的几种方式介绍
2014/01/17 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
浅析Python中的join()方法的使用
2015/05/19 Python
Python3字符串学习教程
2015/08/20 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
2016/06/26 Python
Python中常用信号signal类型实例
2018/01/25 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
python实现图像拼接
2020/03/05 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
2014庆六一活动方案
2014/03/02 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
赔偿协议书
2015/01/27 职场文书
建筑工程催款函
2015/06/24 职场文书
公司业务员管理制度
2015/08/05 职场文书
python实现过滤敏感词
2021/05/08 Python