繁体   English   中英

通过填充 PrimeReact 树需要帮助

[英]Need help by populating a PrimeReact Tree

我正在尝试使用来自 sqlite3 数据库的数据填充 PrimeReact 树,但它不起作用。

这是我的 SQL 查询:

select 'prj:'||p.id as key,p.name as label,(
select json_group_array(json_object('key',key,'label',label))
from(
    select 'tpr:'||tpr.id as key,tpr.name as label from tpr
    where tpr.prjid=p.id
    and tpr.active="true"
    order by tpr.id
    )
    ) as children
from prj p,usr_right r
where p.id=r.prjid
and p.active="true"
and r.usrid=$1
order by p.id

我得到以下 JSON 代码:

[
{
key: 'prj:1',
label: 'Projekt 1',
children: '[{"key":"tpr:1","label":"Teilprojekt 1"},{"key":"tpr:2","label":"Teilprojekt 2"}]'
},
{ key: 'prj:2', label: 'Projekt 3', children: '[]' },
{ key: 'prj:3', label: 'Projekt 2', children: '[]' }
]

这没关系,但我发现孩子没有被渲染,因为在孩子路径的方括号周围有引号 - 我该如何解决这个问题?

如果initial是将您的 json 映射到Tree ,那么您需要稍作修改以将字符串转换为数组

 let initial = [ { key: 'prj:1', label: 'Projekt 1', children: '[{"key":"tpr:1","label":"Teilprojekt 1"},{"key":"tpr:2","label":"Teilprojekt 2"}]' }, { key: 'prj:2', label: 'Projekt 3', children: '[]' }, { key: 'prj:3', label: 'Projekt 2', children: '[]' } ] let converted = initial.map(obj => ({ ...obj, children: JSON.parse(obj.children)})) console.log(converted)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM