【问题标题】:Creating getter for getting error messages from form in Angular创建getter以从Angular中的表单获取错误消息
【发布时间】:2019-12-27 12:26:03
【问题描述】:

我正在尝试制作一些会返回类似内容的吸气剂

  get anyInvalid(): any {
    return this.formGroup.controls.endTime.errors || this.formGroup.errors?.invalidFixed || this.formGroup.errors?.endTimeIsRequired || this.formGroup.errors?.endTimeIsInvalid;
  }

但我有错误

错误 TS1109:预期表达式。

有没有人知道我哪里错了,也许是一些小的语法?

【问题讨论】:

  • 您放置的 ? 在 TypeScript 中不起作用。您必须使用作为 ESNext 标准的一部分引入的 ??,或者检查您尝试访问的内容是否已实际定义。
  • ??也不行
  • @MiomirDancevic nullish coalescing ?? 将在 typescript 3.7 版中工作 typescriptlang.org/docs/handbook/release-notes/…

标签: angular typescript get


【解决方案1】:

如果任何表单控件无效,那么它本身就是无效的,所以尝试这样

  get anyInvalid(): any {
    return this.properties.formGroup.invalid;
   }

【讨论】:

    【解决方案2】:

    试试这个:

    get anyInvalid(): any {
      const fg = this.properties.formGroup;
      const { errors } = fg;
      let invalidFixed, endTimeIsRequired, endTimeIsInvalid;
      if (errors) {
        invalidFixed = errors.invalidFixed;
        endTimeIsRequired = errors.endTimeIsRequired;
        endTimeIsInvalid = errors.endTimeIsInvalid;
      }
      return fg.controls.endTime.errors || 
        invalidFixed || 
        endTimeIsRequired || 
        endTimeIsInvalid;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      相关资源
      最近更新 更多