为了账号安全,请及时绑定邮箱和手机立即绑定

将多个控制值更改分组在一起

将多个控制值更改分组在一起

30秒到达战场 2023-11-02 21:28:09
自动完成功能可分别触发每个表单控件的过滤功能。有没有办法对语句进行分组,而不是像我下面那样单独使用多个可观察值并分别写下来?this.filteredTypesCodes = this.assetTypeCodeControl.valueChanges      .pipe(        startWith(''),        map(value => value.length >= 2 ? this._filter(value) : [])      );    this.filteredSubTypesCodes = this.assetSubTypeCodeControl.valueChanges      .pipe(        startWith(''),        map(value => value.length >= 2 ? this._filter(value) : [])      );    this.filteredMakesCodes = this.assetMakeCodeControl.valueChanges      .pipe(        startWith(''),        map(value => value.length >= 2 ? this._filter(value) : [])      );
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

你可以merge从 Rxjs 将多个可观察值合并为一个,但我认为这对你不起作用,因为你需要单独使用每个可观察值,你可以做的是,为了停止重复自己,你可以将重复的代码放在一个单独的代码中函数,就像这样:


createFilter(formControl) {

      return formControl.valueChanges

      .pipe(

        startWith(''),

        map(value => value.length >= 2 ? this._filter(value) : [])

      );

}

然后您可以使用它来创建过滤器:


this.filteredTypesCodes = this.createFilter(this.assetTypeCodeControl)

this.filteredSubTypesCodes = this.createFilter(this.assetSubTypeCodeControl)

this.filteredMakesCodes = this.createFilter(this.assetMakeCodeControl)


查看完整回答
反对 回复 2023-11-02
  • 1 回答
  • 0 关注
  • 52 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信