项目中使用 Treeselect 时,需要获取选项的变化从而触发别的事件,所以需要监听Treeselect 所选择的值。
我使用了watch 来监听 treeselect 绑定的 model ,如果 model 的值发生变化就触发 currDeptChange 事件。
1
2
3
4
5
6
7
8
|
<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 选择项的改变
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
<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 选择项的改变操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/HH18700418030/article/details/101014824