kendo-dropdownlist
で表示するアイテムをグループ化するにはどうすればよいですか?私はgroupBy
とkendo-data-query
からそれを組み合わせようとしています - 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の剣道DropDownListはグループ化されたデータをサポートしていません。これは、データのフラットリストのみをレンダリングできます。最高の考えはここにあなたのアイデアを投稿することです - http://kendoui-feedback.telerik.com/forums/555517-kendo-u-for-angular-feedback –
はい、あなたの権利、私はこれについての解答とドキュメントには、「データは配列のようなリストで提供されなければならない」と述べています。私はあなたの提案に従います。 – FabioG