默认情况下,ngx-tree view复选框应为false

时间:2017-09-10 16:36:06

标签: angular

我使用了这段代码:

<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对象。

5 个答案:

答案 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,
                        }
                    ],
                },
            ],
        });