情况
我想知道是否可以重置 distinctUntilChanged
部分
以便它重新接受重复的值。
所以我的情况是,现在我正在使用这样的函数(作为示例大大缩短)。
Rx.Observable.fromEvent(textInput, 'keyup')
.pluck('target','value')
.filter( (text) => {
text = text.trim();
if (!text.length) // empty input field
{
this.setState({ list: [] });
}
return text.length > 0;
})
.debounceTime(300)
.distinctUntilChanged()
所以在最后,结果创建了一系列我可以点击的 div,然后更改输入的值(调用下面的函数)。
fill_name(name)
{
$("#company_input").val(name);
this.setState({ list: [] });
}
因此,如果我在输入中键入 a
,然后我用退格键将其全部删除并重新键入 a,可观察对象将不会调用我的函数。
我想要什么
我想要一些方法让 fill_name
函数重置 distinctUntilChanged
部分,这样我就可以在点击生成的 div 后再次搜索 a
.
最佳答案
假设您有一个 generatedDivClicks$ 的 Observable:
const reset$ = generatedDivClicks$.mapTo('reset');
const input$ = Rx.Observable.fromEvent(textInput, 'keyup')
.pluck('target','value')
.filter( (text) => {
text = text.trim();
if (!text.length) // empty input field
{
this.setState({ list: [] });
}
return text.length > 0;
})
.debounceTime(300);
Rx.Observable.merge(reset$, input$)
.distinctUntilChanged()
.filter(x => x !== 'reset')
关于javascript - Rxjs - 重置 distinctuntilchanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44752525/