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 相关文章推荐
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
各浏览器对document.getElementById等方法的实现差异解析
Dec 05 Javascript
常用jQuery选择器总结
Jul 11 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
Feb 08 Javascript
JS简单获取日期相差天数的方法
Apr 24 Javascript
JavaScript生成图形验证码
Aug 24 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
Aug 25 Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 Javascript
ES6学习笔记之let与const用法实例分析
Jan 22 Javascript
JS高级程序设计之class继承重点详解
Jul 07 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
python和pyqt实现360的CLable控件
2014/02/21 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
python实现转圈打印矩阵
2019/03/02 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
python import 上级目录的导入
2020/11/03 Python
巴西手表购物网站:eclock
2019/03/19 全球购物
面向对象编程的优势是什么
2015/12/17 面试题
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
软件测试工程师面试问题精选
2016/10/28 面试题
求职自荐书范文
2013/12/04 职场文书
大客户销售经理职责
2013/12/04 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
手机被没收的检讨书
2014/10/04 职场文书
考研英语复习计划
2015/01/19 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle