Формат заголовка ng-bootstrap для всех свойств объекта - PullRequest
0 голосов
/ 04 марта 2019

Я работаю над угловым 6-ю проектами и использую ng-bootstrap typeahead для поиска по этому объекту:

const options: SelectItem[] = [
{ name: 'home', id: 1 },
{ name: 'dashboard', id: 2 },
{ name: 'panel', id: 3 } ];

Теперь я просто могу искать по имени:

search = (text$: Observable<string>) =>
    text$.pipe(
        debounceTime(200),
        map(term => term === '' ? []
            : options.filter(v => v.name.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10))
    )
formatter = (result: string) => result.toUpperCase();

но я хочу искать как по имени, так и по имени в поле поиска ... любое тело может помочь?

1 Ответ

0 голосов
/ 04 марта 2019

просто измените поиск функции, чтобы включить новое условие

search = (text$: Observable<string>) =>
    text$.pipe(
        debounceTime(200),
        map(term => term === '' ? []
            : options.filter(v => 
               v.name.toLowerCase().indexOf(term.toLowerCase())>-1 ||
               v.id==+term
            ).slice(0, 10))
    )

Обратите внимание, что, поскольку id - это число, вам необходимо преобразовать термин в число (+ термин)

aПростой пример можно увидеть в stackblitz

...