在 Kendo TreeView 中为 CheckBy 显示的对象

Object Appearing for CheckBy in Kendo TreeView

提问人:Michelle 提问时间:11/10/2023 更新时间:11/10/2023 访问量:10

问:

我有一个简单的数组,用于保存从服务器 API 调用返回的字符串。我想引用我的 Kendo TreeView checkBy 字段的字符串值,因此我的 checkedKeys 数组更容易为将来的方法解析。但是,当我尝试将变量分配给此值时,我的剑道 TreeView 显示“对象”而不是实际值。我错过了什么?

component.ts

public checkedKeys: any[] = [];
public filteredValues: Array<{valueName:string}> = [];
    
filteredValues: [{valueName: "Red"}, {valueName: "Blue"}, {valueName: "Green"}];
    
.subscribe({
    next: (filteredValues) => {
        filteredValues.forEach(value=> {
            this.filteredValues.push({valueName:value})
        }); 
    }
});

[HTML全文]

<kendo-treeview
    [nodes]="filteredValues"
    kendoTreeViewCheckable
    [(checkedKeys)]="checkedKeys"
    checkBy="valueName"
    ></kendo-treeview>

如果我将filteredValues转换为一个简单的字符串[Red, Blue, Green],它会在UI上正确显示,但是checkedKeys只包含checkBox位置,而不是实际的checkBox值,所以它看起来像这样:

Angular Kendo-UI 树视图

评论


答:

0赞 Michelle 11/10/2023 #1

treeView 需要 textField 属性。当它是 string[] 时,不需要 textField 属性,但是一旦我将其更改为对象数组,如果没有文本字段,它就无法正确显示。

<kendo-treeview
    [nodes]="filteredValues"
    textField="valueName"
    kendoTreeViewCheckable
    [(checkedKeys)]="checkedKeys"
    checkBy="valueName"
></kendo-treeview>