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 1.3 和 Validation 验证插件1.5.1
Jul 09 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
js获取域名的方法
Jan 27 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
Jun 05 Javascript
jQuery中的Deferred和promise 的区别
Apr 03 Javascript
浅析在javascript中创建对象的各种模式
May 06 Javascript
jQuery Dialog 取消右上角删除按钮事件
Sep 07 Javascript
获取JavaScript异步函数的返回值
Dec 21 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
angularjs实现分页和搜索功能
Jan 03 Javascript
vue watch自动检测数据变化实时渲染的方法
Jan 16 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 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备份MYSQL数据的多种方法
2014/01/15 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python中os.path用法分析
2015/01/15 Python
Python实现简单的代理服务器
2015/07/25 Python
Python 多线程Threading初学教程
2017/08/22 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
python matplotlib画图实例代码分享
2017/12/27 Python
python中字符串内置函数的用法总结
2018/09/13 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
Python接口自动化测试的实现
2020/08/28 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
应用服务器有那些
2012/01/19 面试题
大学生就业自我鉴定
2013/10/26 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏