diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md
index 65c70e85fc3..8eeaa0b7f3a 100644
--- a/CHANGELOG.zh_CN.md
+++ b/CHANGELOG.zh_CN.md
@@ -1,10 +1,16 @@
## Wip
+### ✨ Features
+
+- `BasicTree` 新增`clickRowToExpand`,用于单击树节点展开
+
### 🐛 Bug Fixes
- 修复`Description`已知问题
- 修复`BasicForm`已知问题
- 修复`BasicTree`下 ActionItem 的 show 属性逻辑问题
+- 修复树组件 demo 示例样式错误
+- 修复账号管理新增未清空旧数据
## 2.0.2 (2021-03-04)
diff --git a/src/components/Tree/src/index.vue b/src/components/Tree/src/index.vue
index c4714f53825..f4b3136389e 100644
--- a/src/components/Tree/src/index.vue
+++ b/src/components/Tree/src/index.vue
@@ -121,7 +121,7 @@
return icon;
}
- async function handleRightClick({ event, node }: any) {
+ async function handleRightClick({ event, node }: Recordable) {
const { rightMenuList: menuList = [], beforeRightClick } = props;
let rightMenuList: ContextMenuItem[] = [];
@@ -137,14 +137,14 @@
});
}
- function setExpandedKeys(keys: string[]) {
+ function setExpandedKeys(keys: Keys) {
state.expandedKeys = keys;
}
function getExpandedKeys() {
return state.expandedKeys;
}
- function setSelectedKeys(keys: string[]) {
+ function setSelectedKeys(keys: Keys) {
state.selectedKeys = keys;
}
@@ -182,10 +182,23 @@
searchState.searchData = filter(unref(treeDataRef), (node) => {
const { title } = node;
return title?.includes(searchValue) ?? false;
- // || key?.includes(searchValue);
});
}
+ function handleClickNode(key: string, children: TreeItem[]) {
+ if (!props.clickRowToExpand || !children || children.length === 0) return;
+ if (!state.expandedKeys.includes(key)) {
+ setExpandedKeys([...state.expandedKeys, key]);
+ } else {
+ const keys = [...state.expandedKeys];
+ const index = keys.findIndex((item) => item === key);
+ if (index !== -1) {
+ keys.splice(index, 1);
+ }
+ setExpandedKeys(keys);
+ }
+ }
+
watchEffect(() => {
treeDataRef.value = props.treeData as TreeItem[];
state.expandedKeys = props.expandedKeys;
@@ -264,11 +277,15 @@
const propsData = omit(item, 'title');
const icon = getIcon({ ...item, level }, item.icon);
+ const children = get(item, childrenField) || [];
return (