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 相关文章推荐
JavaScript日历实现代码
Sep 12 Javascript
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
编写高性能Javascript代码的N条建议
Oct 12 Javascript
jquery实现手风琴效果
Nov 20 Javascript
js Canvas绘制圆形时钟教程
Feb 06 Javascript
详解使用 Node.js 开发简单的脚手架工具
Jun 08 Javascript
Vue自定义指令封装节流函数的方法示例
Jul 09 Javascript
vue mounted 调用两次的完美解决办法
Oct 29 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
Oct 26 Javascript
浅析vue-router实现原理及两种模式
Feb 11 Javascript
JS中多层次排序算法的实现代码
Jan 06 Javascript
Vite和Vue CLI的优劣
Jan 30 Vue.js
搭建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
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
通过php删除xml文档内容的方法
2015/01/23 PHP
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
详解Python中的strftime()方法的使用
2015/05/22 Python
Python错误处理操作示例
2018/07/18 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
学雷锋演讲稿
2014/03/04 职场文书
广告宣传策划方案
2014/05/21 职场文书
服务员态度差检讨书
2014/10/28 职场文书
个人工作能力自我评价
2015/03/05 职场文书
仰望星空观后感
2015/06/10 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫