Javascript Rxjs-重置distinctuntilchanged 处境

Javascript Rxjs-重置distinctuntilchanged 处境,javascript,rxjs,rxjs5,Javascript,Rxjs,Rxjs5,我想知道是否可以重置distinctUntilChanged部件 这样它就可以重新接受一个重复的值 所以我的情况是,现在我正在使用这样的函数(作为一个例子,大大缩短了) 最后,结果创建了一系列div,我可以单击它们,然后更改输入的值(调用下面的函数) 因此,如果我在输入中键入a,然后我用退格符删除所有内容并重新键入a,可观察对象将不会调用我的函数 我想要什么 我想让fill\u name函数用某种方法重置distinctunitrichanged部分,这样我就可以在单击我生成的div后再次搜索a

我想知道是否可以重置
distinctUntilChanged
部件 这样它就可以重新接受一个重复的值

所以我的情况是,现在我正在使用这样的函数(作为一个例子,大大缩短了)

最后,结果创建了一系列div,我可以单击它们,然后更改输入的值(调用下面的函数)

因此,如果我在输入中键入
a
,然后我用退格符删除所有内容并重新键入a,可观察对象将不会调用我的函数

我想要什么
我想让
fill\u name
函数用某种方法重置
distinctunitrichanged
部分,这样我就可以在单击我生成的div后再次搜索
a

假设您有可观察的generatedDivClicks$:

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')

将筛选移动到
distinctUntilChanged
之后。可能使用
map
并在其前面修剪,但在其后面使用
filter
。@cartant似乎已经很好地解决了这个问题,谢谢
fill_name(name)
{
  $("#company_input").val(name);
  this.setState({ list: [] });
} 
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')