Comment limiter le type de valeur de FormGroup dans ts ?
P粉566048790
P粉566048790 2023-09-09 16:19:03
0
1
437

J'ai une constante comme ceci :

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

Et je veux limiter les types dans FormGroup, alors j'écris comme ceci :

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,
})

Apparemment, cela ne fonctionne pas car peu importe ce que je modifie les propriétés de l'interface d'information, il n'y a pas d'erreur, pourquoi ? Comment limiter le type de valeur de FormGroup dans ts

Limiter le type de valeur de FormGroup dans ts

P粉566048790
P粉566048790

répondre à tous(1)
P粉378264633

Je pense que cela devrait vous aider : https://angular.io/guide/typed-forms

Fondamentalement, vous devez faire en sorte que l'interface ait des contrôles de formulaire au lieu de types normaux :

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)
  });

Veuillez garder à l'esprit qu'il a été introduit dans Angular 14 et qu'il ne fonctionnera donc pas dans les versions précédentes

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal