PrimeNG TreeTable异步加载子树[通俗易懂]

PrimeNG TreeTable异步加载子树[通俗易懂]1.PrimeNG官网:https://www.primefaces.org/primeng/#/treetable2.引入TreeTableModule到自己的module.ts中3.页面中写上PrimeNG规定的p-treeTable格式,value对应后台返回的treeNode格式,field中对应的是data:item中返回的值   的名称  <p-treeTable…

大家好,又见面了,我是你们的朋友全栈君。

1. PrimeNG官网:https://www.primefaces.org/primeng/#/treetable

2. 引入TreeTableModule到自己的module.ts中

3. 页面中写上PrimeNG规定的p-treeTable格式,value对应后台返回的treeNode格式,field中对应的是data:item中返回的值      的名称

   


<
p
-treeTable
[
value
]=
_organizationalManagementList

selectionMode
=
“single”
[(
selection
)]=
“selectedFile”
(
onNodeSelect
)=
“_OrganizationalSelectHandler($event)”
(
onNodeExpand
)=
“_expandOrganizational($event)”
>
<
p
-header
>Singe Selection
</
p
-header
>
<
p-column
field=
“descn”
header=
“部门名称” [
style]=
“{‘width’:’200px’}”
></
p-column
>
<
p-column
field=
“id”
header=
“”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“部门编号”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“部门简称”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“部门性质”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“负责人”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“电话号”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“分机号”
></
p-column
>
<
p-column
field=
“jobGroupId”
header=
“备注”
></
p-column
>
</
p
-treeTable
>

4. 首次请求后台得到第一次树形节点数据

    

this.
unitService.
getAllOrganizational()
.
subscribe(
(
profile:
any[])
=> {
console.
log(
profile);

this
.
_organizationalManagementList
=
profile
.
map
(
item

=>
{


return {
label:
item[
“descn”],
data:
item,
expandedIcon:
“fa-folder-open”,
collapsedIcon:
“fa-folder”,
leaf:
false
};


});
});


5. 第二次展开,会触发 onNodeExpand方法,执行中根据$event中的id值进行第二次请求

   

_expandOrganizational(
event){
console.
log(
event);
if (
event.
node) {
this.
unitService.
getAllOrganizationalById(
event.
node[
“data”].
id).
subscribe(
(
res:
any[])
=> {
const
childrenList=
res[
“privileges”];

event.node.children
=
childrenList
.
map
(
item

=>
{
return {
label:
item[
“text”],
data:
item,
expandedIcon:
“fa-folder-open”,
collapsedIcon:
“fa-folder”,
leaf:
false
};
});
// console.log(event.node);
},
(
err:
HttpErrorResponse)
=> {
if (
err.
error
instanceof
Error) {
alert(
`客户端错误or网络连接失败,
${

err.
error.
message
}
`);
}
else {
const
errMsg =
`服务器返回数据失败,错误代码:
${
err.
status
}
,错误信息:
${

err.
error
}
`;
console.
log(
errMsg);
alert(
errMsg);
}
}
);


}
}

6. 再展开之前还需要判断是否已经是最后一层,如果是的话是文件形式的图标,如果不是的话是文件夹形式,后续会再更新

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141863.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月24日 下午9:20
下一篇 2022年5月24日 下午9:40


相关推荐

  • 最新手机号段 归属地数据库(2021年10月476338条,包括最新的号段)

    最新手机号段 归属地数据库(2021年10月476338条,包括最新的号段)最新手机号段归属查询地数据库2020年3月447897条,最新手机归属地数据库,号码归属地数据库,TXT、Exel两种格式。自己买的,花了钱。包括最新的165、166、167、173、177、195、198、199、172、178、198、175、176。这里是txt格式,其他格式及最新的资源在http://dzw.se/zhl靠下方的位置上。Txt格式https://dow…

    2022年7月22日
    21
  • ipsec iptables_iptables -p

    ipsec iptables_iptables -piptablesiptables[-t表名]命令选项[链名][条件匹配][-j目标动作或跳转]-t表名可以省略,指定规则存放在哪个表中,默认为filter表用于存放相同功能的规则filter表:负责过滤功能能,nat表:网络地址转换功能mangle表:拆解报文做出修改并重新封装的功能raw表:关闭nat表上启用的连接追踪机制命令选项-A在…

    2022年10月7日
    5
  • idea2021.8激活码-激活码分享

    (idea2021.8激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlKU…

    2022年3月22日
    54
  • isalpha函数使用

    isalpha函数使用原型 externintisa intc br br 用法 includectype hbr br 功能 判断字符 c 是否为英文字母 br br 说明 当 c 为英文字母 a z 或 A Z 时 返回非零值 否则返回零 br br 举例 br br isalpha cbr br includesysli

    2026年3月18日
    1
  • 图像拼接算法及实现

    图像拼接算法及实现第一章 nbsp nbsp 绪论 1 1 图像拼接技术的研究背景及研究意义 图像拼接 imagemosaic 是一个日益流行的研究领域 他已经成为照相绘图学 计算机视觉 图像处理和计算机图形学研究中的热点 图像拼接解决的问题一般式 通过对齐一系列空间重叠的图像 构成一个无缝的 高清晰的图像 它具有比单个图像更高的分辨率和更大的视野 早期的图像拼接研究一直用于照相绘图学 主要是对大量

    2026年3月19日
    3
  • C语言学习——预处理命名「建议收藏」

    C语言学习——预处理命名「建议收藏」一、宏定义编译:对源程序进行词法、语法分析,生成代码,优化等。作用:在编译之前,对源程序中的特殊命令做一些处理,生成扩展C源程序种类:宏定义 #define文件包含 #include条件编译 #if #else #endif等格式:“#”开头占单独书写行语句尾不加分号2)C语言允许宏带有参数。在宏定义中的参数称为“形式参数”,在宏调用中的…

    2022年8月18日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号