From 5ecea9e9e93ce18b8e5c62ebf4f0788c7a9f6078 Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Mon, 18 Apr 2022 01:33:58 +0800 Subject: [PATCH] fix(tree-select): parent items in tree are selectable when `check-strategy="child"` and `:cascade="false"`, closes #2780 --- CHANGELOG.en-US.md | 1 + CHANGELOG.zh-CN.md | 1 + src/tree-select/src/TreeSelect.tsx | 28 ++++++++++++++-------------- src/tree/src/Tree.tsx | 10 +--------- src/tree/src/TreeNode.tsx | 24 +++++++++++++----------- 5 files changed, 30 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index 59c0edff894..f0edc6196b0 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -9,6 +9,7 @@ - Fix `n-drawer` & `n-modal` may overflow screen on opening if `:autofocus="true"`. - Fix `n-tree-select`'s filter not working correctly when `children-field` is not set, closed [#2789](https://github.com/TuSimple/naive-ui/issues/2789). - Fix `n-tree-select`'s matched style is not cleared after filter value is cleared. +- Fix `n-tree-select`'s parent items in tree are selectable when `check-strategy="child"` and `:cascade="false"`, closes [#2780](https://github.com/TuSimple/naive-ui/issues/2780). ### Feats diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md index 9b534511023..c6bc5c87fa8 100644 --- a/CHANGELOG.zh-CN.md +++ b/CHANGELOG.zh-CN.md @@ -9,6 +9,7 @@ - 修复 `n-drawer` 和 `n-modal` 在 `:autofocus="true"` 情况下打开时可能溢出屏幕 - 修复 `n-tree-select` 在使用 `children-field` 时过滤器不生效,关闭 [#2789](https://github.com/TuSimple/naive-ui/issues/2789) - 修复 `n-tree-select` 清空搜索值时搜索命中样式未更新 +- 修复 `n-tree-select` 在 `check-strategy="child"` 和 `:cascade="false"` 时非叶节点依然可以被选择,关闭 [#2780](https://github.com/TuSimple/naive-ui/issues/2780) ### Feats diff --git a/src/tree-select/src/TreeSelect.tsx b/src/tree-select/src/TreeSelect.tsx index 8fcf5c91f7e..8c1e3c40938 100644 --- a/src/tree-select/src/TreeSelect.tsx +++ b/src/tree-select/src/TreeSelect.tsx @@ -49,6 +49,8 @@ import { call, ExtractPublicPropTypes, MaybeArray, + resolveSlot, + resolveWrappedSlot, useAdjustedTo, warnOnce } from '../../_utils' @@ -863,28 +865,26 @@ export default defineComponent({
- )} - {$slots.action && ( - )} + {resolveWrappedSlot($slots.action, (children) => { + return children ? ( + + ) : null + })}