【发布时间】:2017-06-27 16:27:48
【问题描述】:
如何将项目分组以显示在kendo-dropdownlist 中?我一直在尝试将它与来自kendo-data-query 的groupBy 结合起来——groupBy 本身可以工作,但即使没有错误,列表也显示为空(即:没有项目)。
这是我的组件:
import { Component } from '@angular/core';
import { groupBy } from '@progress/kendo-data-query';
@Component({
selector: 'app-header-channels',
templateUrl: './header-channels.component.html'
})
export class HeaderChannelsComponent {
public listItems: Array<{ text: string, value: number, type: string }> = [
{ text: '4 Cantos', value: 1, type: 'Operators' },
{ text: 'CVC', value: 2, type: 'Operators' },
{ text: 'Channel 3', value: 3, type: 'Agencies' }
];
public selectedItem: { text: string, value: number, type: string } = this.listItems[1];
public data;
constructor() {
this.data = groupBy(this.listItems.slice(), [{ field: 'type' }]);
}
handleFilter(value) {
this.data = groupBy(this.listItems.filter((s) => s.text.toLowerCase().indexOf(value.toLowerCase()) !== -1), [{ field: 'type' }]);
}
}
这是我组件的模板:
<kendo-dropdownlist
[data]="data"
[filterable]="true"
[textField]="'text'"
[valueField]="'value'"
[(ngModel)]="selectedItem"
(filterChange)="handleFilter($event)">
</kendo-dropdownlist>
我正在为此头疼......
【问题讨论】:
-
据我所知,Angular 的 Kendo DropDownList 不支持分组数据。它只能呈现平面数据列表。最好的想法是在这里发布您的想法 - kendoui-feedback.telerik.com/forums/…
-
是的,你说得对,我一直在寻找解决方案,文档指出“数据必须以类似数组的列表形式提供”。我会听从你的建议。