Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
54212112
提交
54212112
authored
7月 06, 2021
作者:
无木
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(demo): add basicTree with async data expand all
演示basicTree使用异步数据并自动展开
上级
cf840e3e
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
77 行增加
和
39 行删除
+77
-39
index.vue
src/views/demo/tree/index.vue
+77
-39
没有找到文件。
src/views/demo/tree/index.vue
浏览文件 @
54212112
<
template
>
<PageWrapper
title=
"Tree基础示例"
>
<div
class=
"flex"
>
<BasicTree
:treeData=
"treeData"
title=
"基础示例,默认展开第一层"
defaultExpandLevel=
"1"
class=
"w-1/3"
/>
<BasicTree
:treeData=
"treeData"
title=
"可勾选,默认全部展开"
:checkable=
"true"
class=
"w-1/3 mx-4"
defaultExpandAll
@
check=
"handleCheck"
/>
<BasicTree
title=
"指定默认展开/勾选示例"
:treeData=
"treeData"
:checkable=
"true"
:expandedKeys=
"['0-0']"
:checkedKeys=
"['0-0']"
class=
"w-1/3"
/>
</div>
<div
class=
"flex"
>
<BasicTree
title=
"异步树"
ref=
"asyncTreeRef"
:treeData=
"tree"
class=
"w-1/3"
:load-data=
"onLoadData"
/>
</div>
<Row
:gutter=
"[16, 16]"
>
<Col
:span=
"8"
>
<BasicTree
title=
"基础示例,默认展开第一层"
:treeData=
"treeData"
defaultExpandLevel=
"1"
/>
</Col>
<Col
:span=
"8"
>
<BasicTree
title=
"可勾选,默认全部展开"
:treeData=
"treeData"
:checkable=
"true"
defaultExpandAll
@
check=
"handleCheck"
/>
</Col>
<Col
:span=
"8"
>
<BasicTree
title=
"指定默认展开/勾选示例"
:treeData=
"treeData"
:checkable=
"true"
:expandedKeys=
"['0-0']"
:checkedKeys=
"['0-0']"
/>
</Col>
<Col
:span=
"8"
>
<BasicTree
title=
"懒加载异步树"
ref=
"asyncTreeRef"
:treeData=
"tree"
:load-data=
"onLoadData"
/>
</Col>
<Col
:span=
"16"
>
<Card
title=
"异步数据,默认展开"
>
<template
#
extra
>
<a-button
@
click=
"loadTreeData"
:loading=
"treeLoading"
>
加载数据
</a-button>
</
template
>
<Spin
:spinning=
"treeLoading"
>
<BasicTree
ref=
"asyncExpandTreeRef"
:treeData=
"tree2"
/>
</Spin>
</Card>
</Col>
</Row>
</PageWrapper>
</template>
<
script
lang=
"ts"
>
import
{
defineComponent
,
ref
,
unref
}
from
'vue'
;
import
{
BasicTree
,
TreeActionType
}
from
'/@/components/Tree/index'
;
import
{
defineComponent
,
nextTick
,
ref
,
unref
}
from
'vue'
;
import
{
BasicTree
,
TreeActionType
,
TreeItem
}
from
'/@/components/Tree/index'
;
import
{
treeData
}
from
'./data'
;
import
{
PageWrapper
}
from
'/@/components/Page'
;
import
{
Card
,
Row
,
Col
,
Spin
}
from
'ant-design-vue'
;
import
{
cloneDeep
}
from
'lodash-es'
;
export
default
defineComponent
({
components
:
{
BasicTree
,
PageWrapper
},
components
:
{
BasicTree
,
PageWrapper
,
Card
,
Row
,
Col
,
Spin
},
setup
()
{
const
asyncTreeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
const
asyncExpandTreeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
const
tree2
=
ref
<
TreeItem
[]
>
([]);
const
treeLoading
=
ref
(
false
);
function
handleCheck
(
checkedKeys
,
e
)
{
console
.
log
(
'onChecked'
,
checkedKeys
,
e
);
}
function
loadTreeData
()
{
treeLoading
.
value
=
true
;
// 以下是模拟异步获取数据
setTimeout
(()
=>
{
// 设置数据源
tree2
.
value
=
cloneDeep
(
treeData
);
treeLoading
.
value
=
false
;
// 展开全部
nextTick
(()
=>
{
console
.
log
(
unref
(
asyncExpandTreeRef
));
unref
(
asyncExpandTreeRef
)?.
expandAll
(
true
);
});
},
2000
);
}
const
tree
=
ref
([
{
title
:
'parent '
,
...
...
@@ -82,7 +110,17 @@
},
1000
);
});
}
return
{
treeData
,
handleCheck
,
tree
,
onLoadData
,
asyncTreeRef
};
return
{
treeData
,
handleCheck
,
tree
,
onLoadData
,
asyncTreeRef
,
asyncExpandTreeRef
,
tree2
,
loadTreeData
,
treeLoading
,
};
},
});
</
script
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论