如何限制ts中FormGroup的值類型?
P粉566048790
P粉566048790 2023-09-09 16:19:03
0
1
433

我有一個這樣的常數:

const defaultInfo: FormGroup = this.fb.group({
  id: 1,
  name: qian,
  amount: 123,
})

並且我想限制FormGroup內部的類型,所以我這樣寫:

interface InfoInterface {
  id: number,
  name: string,
  amount: number,
}


interface InfoFormGroup extends FormGroup {
  value: InfoInterface
}

const defaultInfo: InfoFormGroup = this.fb.group({
  id: 1,
  name: qian,
  amount: 123,
})

顯然它不起作用,因為無論我將Info Interface的屬性更改為什麼,都沒有錯誤,為什麼?如何限制 ts 中 FormGroup 的值類型

限制ts中FormGroup的值類型

P粉566048790
P粉566048790

全部回覆(1)
P粉378264633

我認為它應該對您有幫助:https://angular.io/guide/typed-forms

基本上,您需要使介面具有表單控制項而不是普通類型:

interface InfoInterface {
      id: FormControl<number>,
      name: FormControl<string>,
      amount: FormControl<number>
  }
    
  const info = new FormGroup<InfoInterface>({
      id: new FormControl(0),
      name: new FormControl(''),
      amount: new FormControl(0)
  });

請記住,它是在 Angular 14 中引入的,因此它在先前的版本中不起作用

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板