我试图从父标记获取子标记详细信息。当我使用{state.tagData.allTagDetails.map((e: any) => {}
时,只有我可以访问e.propertyname
(只有父标记具有的数据)。我无法访问子标签详细信息。e.childTags.map((item: any) => {}
映射功能有问题。你能帮我修一下吗?
这是我的代码。
<div style={{ listStyleType: "none", display: "inline" }}>
{state.tagData.allTagDetails.map((e: any) => {
return (
<TreeMenu
cacheSearch
data={[
{
key: e.id,
label: e.name,
child: e.childTags.map((item: any) => {
nodes:[
{
key: item.id,
label:item.name
}
]
}),
},
]}
debounceTime={125}
disableKeyboard={false}
hasSearch={false}
onClickItem={onClickPlusButton}
resetOpenNodesOnDataUpdate={false}
/>
);
})}
</div>
如果您从一开始就知道子元素的属性,那么您甚至根本不需要迭代。直接设置对象属性:
child: {
nodes:[
{
key: e.id,
label:e.name
}
]
}
<TreeMenu
cacheSearch
data={state.tagData.allTagDetails.map((e: any) => {
return {
key: e.id,
label:e.name,
color:e.color,
parentTag_id: null,
nodes:e.childTags ? e.childTags.map((item:any)=>{
return{
key: item.id,
label:item.name,
color:item.color,
parentTag_id:item.parentTag_id
}
}):(" "
)
};
})}
debounceTime={125}
disableKeyboard={false}
hasSearch={false}
onClickItem={(e) => onClicktag(e)}
resetOpenNodesOnDataUpdate={false}
/>