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 select(列表)的操作(取值/赋值)
Aug 06 Javascript
在IE浏览器中resize事件执行多次的解决方法
Jul 12 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 Javascript
window.location.href的用法(动态输出跳转)
Aug 09 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
May 16 Javascript
jQuery.Form上传文件操作
Feb 05 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
js实现数组和对象的深浅拷贝
Sep 30 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
Apr 11 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
Vue 实现从小到大的横向滑动效果详解
Oct 16 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生成二维码
2015/08/10 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
jQuery 表单验证扩展(三)
2010/10/20 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python正则表达式match和search用法实例
2015/03/26 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
大学四年的个人自我评价
2014/01/14 职场文书
成绩单公证书
2014/04/10 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
房产协议书范本2014
2014/09/30 职场文书
三行辞职书范文
2015/02/26 职场文书