“订阅”已弃用。使用观察者而不是完整的回调

问题描述 投票:0回答:1

您好,SonarQube 出现以下错误 “订阅”已被弃用。使用观察者而不是完整的回调。 我在 Angular 9 中正式使用。 感谢您的帮助和时间

              onInit: (field: UiFormFieldConfig) => {
                const CostsControl = FormUtil.getControl(field.form, ContactDetailsFieldKey.Costs);
                CostsControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((Cost: string) => {
                  if (Cost) {
                    const costsToSet = !Codes ? null : Cost;
                    field?.formControl?.setValue(costsToSet);
                  }
                });
              },
            },

请查找更新的代码,但 sonarQube 正在弹出此消息 “订阅”已被弃用。使用观察者而不是完整的回调

  hooks: {
              onInit: (field: UiFormFieldConfig) => {
                const CostsControl = FormUtil.getControl(field.form, ContactDetailsFieldKey.Costs);
                CostsControl ?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe({
                  next: (Cost: string) => {
                    if (Cost) {
                      const costsToSet = !Codes ? null : Cost;
                      field?.formControl?.setValue(costsToSet);
                    }
                  },
                });
              },
            },
javascript angular angular-formly
1个回答
0
投票

根据@Philipp Meissner提到的答案,你应该简单地做:

CostsControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(
    next: (Cost: string) => {
        if (Cost) {
            const costsToSet = !Codes ? null : Cost;
            field?.formControl?.setValue(costsToSet);
        }
    },
    error: () => { // log error }
});
© www.soinside.com 2019 - 2024. All rights reserved.