filterChange событие кендо выпадающего списка для поиска номера - PullRequest
0 голосов
/ 30 октября 2018

Мне нужна помощь с кодом в filterChange - он отлично работает, когда я пытаюсь отфильтровать строку, но не работает с числами. Я даже пытался объявить число как строку, но все равно не работает. Итак, 1-й пример, который у меня есть, - это то, где он работает (Регионы), но не работает для выпадающего списка (Lobs), который у меня следующий. Я новичок в машинописи, пожалуйста, руководство.

//model for Region
export class SelectedRegionItem {
    public RegionMasterID: number;
    public Region: string;
}

//HTML for 'Region' Kendo-dropdownlist
<kendo-dropdownlist id="SelectRegion" name="SelectRegion"
                    style="width:125px"
                    [(ngModel)]="SelectRegion"
                    [defaultItem]="defaultRegion"
                    [data]="regions"
                    [filterable]="true"
                    [valueField]="'RegionMasterID'"
                    [textField]="'Region'"
                    (valueChange)="handleRegionChange($event)"
                    (filterChange)="handleRegionFilter($event)">
</kendo-dropdownlist>
//filter code for Region dropdown. Works fine!

public regions: Array<any> = [];
public regionsFull: Array<any> = [];
public SelectRegion: SelectedRegionItem;
public defaultRegion: { RegionMasterID: number, Region: string } = { RegionMasterID: null, Region: 'Select Region' };

public handleRegionFilter(value) {
        this.regions = this.regionsFull.filter((s) => s.Region.toLowerCase().indexOf(value.toLowerCase()) !== -1);
        if (this.regions.length == 0 && value == '') {
            this.regions = this.regionsFull;
        }
    }

Это код для выпадающего списка «LOB». Поиск, который не работает, так как это поиск номера. Я попытался сделать Id-номер, а также строку, но ни один не работает. Я получаю ошибку Ошибка типа: s.Id.indexOf не является функцией

//Model for 
export class SelectedLOBItem {
    public Id: string;

}
/Html same as above
        <kendo-dropdownlist id="SelectLOB" name="SelectLOB"
                            style="width:125px"
                            [(ngModel)]="SelectLOB"
                            [defaultItem]="defaultLOB"
                            [data]="lobs"
                            [filterable]="true"
                            [valueField]="'Id'"
                            [textField]="'Id'"
                            (filterChange)="handleLobFilter($event)">
        </kendo-dropdownlist>

//filter code
public lobs: Array<any> = [];
public lobsFull: Array<any> = [];
public SelectLOB: SelectedLOBItem;
public defaultLOB: { Id: string } = { Id: 'Select LOBMasterID' };

//this code does not work
    public handleLobFilter(value) {
        //NOT Working
        this.lobs = this.lobsFull.filter((s) => s.Id.indexOf(value) !== -1);
        if (this.lobs.length == 0 && value == '') {
            this.lobs = this.lobsFull;
        }
    }
...