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 相关文章推荐
var与Javascript变量隐式声明
Sep 17 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
用JS生成UUID的方法实例
Mar 30 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
浅谈mint-ui 填坑之路
Nov 06 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
vue单页开发父子组件传值思路详解
May 18 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 Javascript
Vue 幸运大转盘实现思路详解
May 06 Javascript
微信小程序位置授权处理方法
Jun 13 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
一次编写,随处运行
2006/10/09 PHP
PHP的ASP防火墙
2006/10/09 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
PHP强制转化的形式整理
2020/05/22 PHP
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
浅析Python多线程下的变量问题
2015/04/28 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python3 求约数的实例
2019/12/05 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
建房协议书
2014/04/11 职场文书
党支部综合考察材料
2014/05/19 职场文书
销售类求职信
2014/06/13 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL