From e2ca57d1b993282c90d963c2a09ab1d2b0c0dc93 Mon Sep 17 00:00:00 2001 From: Uyarn Date: Tue, 20 Dec 2022 10:18:44 +0800 Subject: [PATCH] feat(tree-select): add context param when pick value --- src/tree-select/_example/base.vue | 8 ++++++++ src/tree-select/tree-select.tsx | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tree-select/_example/base.vue b/src/tree-select/_example/base.vue index a13f38122..a0d8d11cb 100644 --- a/src/tree-select/_example/base.vue +++ b/src/tree-select/_example/base.vue @@ -3,7 +3,9 @@ style="width: 300px" :data="options" v-model="value" + :popupVisible="popupVisible" @blur="onBlurTrigger" + @popup-visible-change="onVisibleChange" filterable clearable placeholder="请选择" @@ -14,6 +16,7 @@ export default { data() { return { value: '', + popupVisible: false, options: [ { label: '广东省', @@ -51,6 +54,11 @@ export default { onBlurTrigger(context) { console.log(context); }, + onVisibleChange(v, c) { + if (c.trigger || c.node?.label !== '广州市') { + this.popupVisible = v; + } + }, }, }; diff --git a/src/tree-select/tree-select.tsx b/src/tree-select/tree-select.tsx index 7c689167f..2a507ee73 100644 --- a/src/tree-select/tree-select.tsx +++ b/src/tree-select/tree-select.tsx @@ -193,7 +193,7 @@ export default defineComponent({ // 多选模式屏蔽 Active 事件 if (props.multiple) return; - setInnerVisible(false, {}); + setInnerVisible(false, context); // 单选模式重复选择不清空 if (treeSelectValue.value === context.node.data[realValue.value]) {