当我删除一个字符时,TypeAhead 不会在第一次重新加载
TypeAhead don't reload the first time when I delete a character
当我开始在我的 TypeAhead 中书写时,选项列表有效,但如果我删除一个字符,总是会出现之前查找的结果。
<input id="OficinaContablePT"
type="text"
class="form-control"
[(ngModel)] = "model"
[ngbTypeahead]="searchOC"
[inputFormatter]="formatter"
[resultFormatter]="formatter"/>
searchOC = (text$: Observable<string>) =>
text$.pipe(
debounceTime(100),
distinctUntilChanged(),
map(term => term.length < 3 ? this.listaContables = []
: (this.oficinaContable(1, term).filter(v =>
v.codigo.toLocaleLowerCase().indexOf(term.toLocaleLowerCase()) > -1).slice(0, 10)))
)
如果我寻找"L0103"出现"L0103AZSDF, L0103QWER"但是如果我删除一个字符("L010")必须出现"L0101, L0102, L0103ASDF, L010QWER"并且只出现"L0103AZSDF, L0103QWER"
终于解决了,
为了解决这个问题,我需要创建一个“(ngModelChange)”,用我的搜索方法为静态数组充电,然后在搜索组件中使用这个数组,而不是在搜索中使用该方法。
当我开始在我的 TypeAhead 中书写时,选项列表有效,但如果我删除一个字符,总是会出现之前查找的结果。
<input id="OficinaContablePT"
type="text"
class="form-control"
[(ngModel)] = "model"
[ngbTypeahead]="searchOC"
[inputFormatter]="formatter"
[resultFormatter]="formatter"/>
searchOC = (text$: Observable<string>) =>
text$.pipe(
debounceTime(100),
distinctUntilChanged(),
map(term => term.length < 3 ? this.listaContables = []
: (this.oficinaContable(1, term).filter(v =>
v.codigo.toLocaleLowerCase().indexOf(term.toLocaleLowerCase()) > -1).slice(0, 10)))
)
如果我寻找"L0103"出现"L0103AZSDF, L0103QWER"但是如果我删除一个字符("L010")必须出现"L0101, L0102, L0103ASDF, L010QWER"并且只出现"L0103AZSDF, L0103QWER"
终于解决了,
为了解决这个问题,我需要创建一个“(ngModelChange)”,用我的搜索方法为静态数组充电,然后在搜索组件中使用这个数组,而不是在搜索中使用该方法。