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 相关文章推荐
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
Dec 22 Javascript
jquery中动态效果小结
Dec 16 Javascript
javascript教程之不完整的继承(js原型链)
Jan 13 Javascript
jQuery中on()方法用法实例
Jan 19 Javascript
javascript封装的sqlite操作类实例
Jul 17 Javascript
微信企业号开发之微信考勤百度地图定位
Sep 11 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
两种js监听滚轮事件的实现方法
May 13 Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 Javascript
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
angular2系列之路由转场动画的示例代码
Nov 09 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 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
PHP面向对象编程快速入门
2006/12/14 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
详解Node.JS模块 process
2020/08/31 Javascript
Python机器学习之决策树算法
2017/12/22 Python
详解Django中CBV(Class Base Views)模型源码分析
2019/02/25 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
de Bijenkorf比利时官网:荷兰最知名的百货商店
2017/06/29 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
大学生如何写自荐信
2014/01/08 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
中队活动总结
2014/08/27 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
高三英语教学反思
2016/03/03 职场文书