当我使用md-autocomplete时,过滤器将应用于第二个最后一个按键,而不是当前按键。我尝试了不同的过滤选项,但是我被困住了,不知道如何将我的Meteor集合与md-autocomplete集成。
在我的控制器组件中,我有如下实现的过滤器逻辑:
// nodejs script doing sequential prompts using async readline.question function
var main = (function* () {
// just import and initialize 'readline' in nodejs
var r = require('readline')
var rl = r.createInterface({input: process.stdin, output: process.stdout })
// magic here, the callback is the iterator.next
var answerA = yield rl.question('do you want this? ', res=>main.next(res))
// and again, in a sync fashion
var answerB = yield rl.question('are you sure? ', res=>main.next(res))
// readline boilerplate
rl.close()
console.log(answerA, answerB)
})() // <-- executed: iterator created from generator
main.next() // kick off the iterator,
// runs until the first 'yield', including rightmost code
// and waits until another main.next() happens
我的模板看起来像这样:
this.searchText = '';
this.subscribe('people');
this.helpers({
people() {
return People.find({
name: {
$regex: `${this.getReactively('searchText')}.*`,
$options: 'i'
}
});
}
});
过滤器可以解决问题,我的searchText的最后一个键ob不会用于过滤列表。
示例:我的收藏中有“Till”,“Tony”和“Andy”。当我输入“T”时,根本没有任何过滤掉,但Till和Tony的T在我的列表中正确突出显示。 当我输入“Ti”时,Till和Tony留在列表中并且Andy被过滤掉了。 Till的“Ti”突出显示。因此突出显示按预期工作,但过滤器不适用于我输入的最后一个字母。
我很乐意提供一些提示,如何将我的searchText正确应用于md-autocomplete。我现在几个小时都在寻找我的错误,没有成功。