Uhlová forma založená na vlastnosti typu

0

Otázka

Mám dialógové komponent, ktorý ukazuje, keď som kliknite na 'Upraviť', tlačidlo vedľa položky v tabuľke. Dialóg component vyzerá to na dnes:

    <h1 mat-dialog-title>{{item.ID}}</h1>
<div mat-dialog-content>
    <p>Edit item</p>
    <mat-form-field appearance="outline" style="justify-content: center;">
        <mat-label>ID</mat-label>
        <input matInput [(ngModel)]="item.ID">
    </mat-form-field>
    <mat-form-field appearance="outline">
        <mat-label>Name</mat-label>
        <input matInput [(ngModel)]="item.Name">
    </mat-form-field>
    <mat-form-field appearance="outline">
        <mat-label>Date</mat-label>
        <input matInput [(ngModel)]="item.Date">
    </mat-form-field>
</div>
<div mat-dialog-actions style="justify-content: center;">
    <button mat-button (click)="onNoClick()">Cancel</button>
    <button mat-button [mat-dialog-close]="item.ID" cdkFocusInitial>Save</button>
</div>

Toto vyzerá a funguje, a slúži svojmu účelu. Ale teraz mám niekoľko ďalších tabuľkách s rôznymi typmi údajov, a keď som si vytvoriť samostatné dialógové okno pre každú tabuľku a pridajte polia formulára manuálne pre každý typ, chcel by som sa flexibilnejšie riešenie.

Ako môžem vytvoriť dialógové okno, v ktorom polia sa pridajú na základe referenčného telesa typu? E. g: Ak mám objekt typu "Ovocie" v jednej tabuľky s properites ako 'Meno', 'Color', 'Cena', a objekt typu 'Auto' s vlastnosťami ako 'Meno', 'Vyrobiť', 'Koní', môžem použiť rovnaké dialógové komponent a vytvoriť forme dynamicky?

angular angular-material html typescript
2021-11-23 18:33:47
1

Najlepšiu odpoveď

0

Samozrejme, že je možné, aby jeden univerzálny dynamickej podobe, ale bude to veľmi ťažké. Hneď, ako bude potrebné pre logiku len pre jeden typ objektu (napríklad na vypnutie pole "a" ak určitú hodnotu v poli "b" je vybraná).

2021-11-23 19:49:26

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................