diff --git a/src/components/Tree/src/Tree.vue b/src/components/Tree/src/Tree.vue
index 041c3f4e..d77af4bd 100644
--- a/src/components/Tree/src/Tree.vue
+++ b/src/components/Tree/src/Tree.vue
@@ -14,7 +14,7 @@
onMounted,
} from 'vue';
import TreeHeader from './TreeHeader.vue';
- import { Tree, Empty } from 'ant-design-vue';
+ import { Tree, Spin, Empty } from 'ant-design-vue';
import { TreeIcon } from './TreeIcon';
import { ScrollContainer } from '/@/components/Container';
import { omit, get, difference, cloneDeep } from 'lodash-es';
@@ -426,10 +426,16 @@
{extendSlots(slots)}
)}
-
-
-
-
+
+
+
+
+
+
);
};
diff --git a/src/components/Tree/src/tree.ts b/src/components/Tree/src/tree.ts
index a7d6a26e..420f16a5 100644
--- a/src/components/Tree/src/tree.ts
+++ b/src/components/Tree/src/tree.ts
@@ -130,6 +130,10 @@ export const treeProps = buildProps({
checkOnSearch: Boolean,
// 搜索完成自动select所有结果
selectedOnSearch: Boolean,
+ loading: {
+ type: Boolean,
+ default: false,
+ },
});
export type TreeProps = ExtractPropTypes;
diff --git a/src/views/demo/tree/index.vue b/src/views/demo/tree/index.vue
index 89d1313b..d90d2ded 100644
--- a/src/views/demo/tree/index.vue
+++ b/src/views/demo/tree/index.vue
@@ -32,7 +32,7 @@
:load-data="onLoadData"
/>
-
+
加载数据
@@ -42,6 +42,14 @@
+
+
+
+ 请求数据
+
+
+
+
@@ -58,6 +66,7 @@
setup() {
const asyncTreeRef = ref>(null);
const asyncExpandTreeRef = ref>(null);
+ const loadTreeRef = ref>(null);
const tree2 = ref([]);
const treeLoading = ref(false);
@@ -79,6 +88,15 @@
});
}, 2000);
}
+ function loadTreeData2() {
+ treeLoading.value = true;
+ // 以下是模拟异步获取数据
+ setTimeout(() => {
+ // 设置数据源
+ tree2.value = cloneDeep(treeData);
+ treeLoading.value = false;
+ }, 2000);
+ }
const tree = ref([
{
@@ -119,9 +137,11 @@
onLoadData,
asyncTreeRef,
asyncExpandTreeRef,
+ loadTreeRef,
tree2,
loadTreeData,
treeLoading,
+ loadTreeData2,
};
},
});