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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux下解压命令大全「建议收藏」

    linux下解压命令大全「建议收藏」.tar解包:tarxvfFileName.tar打包:tarcvfFileName.tarDirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzipFileName.gz解压2:gzip-dFileName.gz压缩:gzipFileName.tar.gz和.tgz解压:tarzxvfF…

  • max函数比较字符串类型

    max函数比较字符串类型

  • 查看服务时提示“一个或多个ActiveX控件无法显示”的解决方法

    查看服务时提示“一个或多个ActiveX控件无法显示”的解决方法最近,查看服务(services.msc)时,默认使用扩展视图时会提示一个或多个ActiveX控件无法显示,原因可能是下列其中之一:1)当前安全设置禁止运行此页面中的ActiveX控件,或2)

    2022年10月22日
  • 【STM32F407的DSP教程】第48章 STM32F407的中值滤波器实现,适合噪声和脉冲过滤(支持逐个数据的实时滤波)「建议收藏」

    【STM32F407的DSP教程】第48章 STM32F407的中值滤波器实现,适合噪声和脉冲过滤(支持逐个数据的实时滤波)「建议收藏」完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第48章STM32F407的中值滤波器实现,适合噪声和脉冲过滤(支持逐个数据的实时滤波)本章节讲解中值滤波器实现,适用于噪声和脉冲的过滤。目录48.1初学者重要提示48.2中值滤波器介绍48.3中值滤波器原理48.4Matlab中值滤波器实现48.5中值滤波器设计48.5.1函数MidFilter…

  • CAS登录认证[通俗易懂]

    CAS登录认证[通俗易懂]CAS最基本的协议过程:名词解释 TicketGrangtingTicket(TGT): TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。TGT封装了Cookie值以及此Cookie值对应的用户信息。用户在CAS认证成功后,CAS生成cookie(叫TGC),写入浏览器,同时生成一个TGT对象,放入自己的缓存,TGT对象的ID就是cookie的值。当HTTP再次请求到来时,如果传过来的有CAS生成的cookie,则CAS以此cookie值为key

  • 面试官:说说什么是 Java 内存模型(JMM)?

    面试官:说说什么是 Java 内存模型(JMM)?本文禁止转载1.为什么要有内存模型?1.1.硬件内存架构1.2.缓存一致性问题1.3.处理器优化和指令重排序2.并发编程的问题3.Java内存模型3.1.Java运行时内存区域与硬件内存的关系3.2.Java线程与主内存的关系3.3.线程间通信4.有态度的总结在面试中,面试官经常喜欢问:『说说什么是Java内存模型(JMM)?』面试者内心狂喜,这题刚背过:『Java内存主要分为五大块:堆、方法区、虚拟机栈、本地方法栈、PC寄存器,ba.

发表回复

您的电子邮箱地址不会被公开。

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