<tr>
タグが*ngFor
で生成されたときに<input>
タグがテーブルの<tr>
タグの内側に必要なときに、角2をどのように使用すればよいか混乱します。私の状況はこれです:私は "製品"の配列を持っています、私は<tr>
タグの製品の情報を表示し、各製品のために、input
フィールドは、各製品の在庫を増やす必要があります。これは私がやっていることである。純粋なHTMLでProductStokeComponent.html * ngForの角入力フォーム
<form [formGroup]="form" (ngSubmit)="formSubmit()">
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Stock</th>
<th>Stock Entrance</th>
</tr>
</thead>
<tbody formArrayName="products">
<tr *ngFor="let product of products| async">
<td>{{ product.id }}</td>
<td>{{ product.name }}</td>
<td>{{ product.stock }}</td>
<td>
<input type="number" name="stock[product.id]" >
</td>
</tr>
</tbody>
</table>
<button type="submit">Add Stock</button>
</form>
を
ProductStokeComponent.ts
export class ProductStokeComponent implements OnInit {
form: FormGroup;
products: Subject<Product[]> = new Subject();
constructor(
private productService: ProductService,
private formBuilder: FormBuilder,
) { }
ngOnInit() {
this.formInit();
this.getProducts();
}
formInit() {
this.form = this.formBuilder.group({
products: this.formBuilder.array([])
});
}
getProducts() {
this.productService.getProducts().subscribe(data => {
this.products.next(data);
});
}
}
、私は名前の配列を廃止することができたが、2角度付き私は反応的なフォームを使用しようとしていますが、各製品のテーブルを生成するためにループの後にフォームを埋めるためにforループを使用する必要があります。方法反応性形と
更新
ProductStokeComponent.ts
ngOnInit() {
this.formInit();
this.getProducts();
}
formInit(product?: Product) {
this.form = this.formBuilder.group({
products: this.formBuilder.array([])
});
}
ProductStokeComponent.html
<tbody formArrayName="products">
アイデアがで置くことです'input'は株式に追加する要素の数ですか? – MondKin
はい、このフォームの入力番号 –