我使用了这段代码:
<ngx-treeview [config]="config" [items]="items" (selectedChange)="values = $event">
</ngx-treeview>
一切正常但默认情况下会选中所有节点复选框。我希望默认情况下取消选中复选框。
这是我的Json对象。
[
{
"value": "1022",
"text": "ABC",
"children": [
{
"value": "1023",
"text": "BBC"
},
{
"value": "1024",
"text": "BCB",
"children": [
{
"value": "1025",
"text": "ccB"
}
]
}
]
}
]
请不要让我改变JSON对象。
答案 0 :(得分:1)
此解决方案对我有用: 将结果转换为TreeviewItem列表,然后将此列表传递给以下方法。
FlatList
答案 1 :(得分:0)
我认为配置中的复选框值没有选项。
如果更改ngx-tree文件,则可以轻松将其设为默认值。 在src中获取lib文件。更新&#34; 私人内部检查&#34; as&#34; false &#34;在&#34; treeview-item.ts &#34;文件。
它应该使false为默认值,但正如我所说,它是临时解决方案,直到更新配置选项。
答案 2 :(得分:0)
初始化checked = false
后,您可以尝试将[items]="items"
设置为父元素和子元素
this.items.forEach(item => {
item.checked = false;
item["internalChildren"].forEach(item => { item.checked = false; })
});
答案 3 :(得分:0)
这可以通过简单地用CSS隐藏所有复选框来解决。
:host ::ng-deep ngx-treeview-item .form-check-input {
display: none;
}
答案 4 :(得分:0)
只需将 checked = false
添加到您的项目
const iWarehouse1 = new TreeviewItem({
text: 'Warehouse 001',
value: 9,
checked: false,
children: [
{
text: 'Shelf 001',
value: 91,
checked: false,
children: [
{
text: 'Bin 001',
value: 911,
checked: false,
}
],
},
],
});