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 相关文章推荐
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
Oct 26 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
Sep 16 Javascript
javascript中tostring()和valueof()的用法及两者的区别
Nov 16 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
JQuery DIV 动态隐藏和显示的方法
Jun 23 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
javascript中this用法实例详解
Apr 06 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
js正则取值的结果数组调试方法
Oct 10 Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 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&amp;mysql(六)
2006/10/09 PHP
用PHP函数解决SQL injection
2006/12/09 PHP
给ECShop添加最新评论
2015/01/07 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
详解Python中expandtabs()方法的使用
2015/05/18 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python基于select实现的socket服务器
2016/04/13 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
打架检讨书400字
2014/01/17 职场文书
小区消防演习方案
2014/02/21 职场文书
《云房子》教学反思
2014/04/20 职场文书
审计班子对照检查材料
2014/08/27 职场文书
广告业务员岗位职责
2015/02/13 职场文书