我正在動態生成表單,在文本框上,我正在系結如下所示的 calculateBCT 函式,
<input matInput type="text" (keyup)="calculateBCT($event)" formControlName="avgBCT">并使用 ngModel 在下面的文本框上回傳結果。
<input matInput type="text" [(ngModel)]="calculatedResult" formControlName="avgCapacity">.
預期輸出 - 如果我將在 Textbox0 中輸入值,它將呼叫calculateBCT 函式并僅在Result0 文本框中反映結果,當我將在Textbox1 中輸入值時,它將呼叫calculateBCT 函式并同樣在Result1 文本框中反映結果..
誰能幫我獲得預期的輸出
在這里,我用代碼創建了 stackblitz 演示
uj5u.com熱心網友回復:
試試這個,看看它是否有幫助。
在app.component.html 中,進行以下更改:
- 洗掉,
[(ngModel)]="calculatedResult"因為您已經在使用formControlName - 通過索引
i來計算 BCT 作為(keyup)="calculateBCT($event, i)"
在app.component.ts 中,將 calculateBCT 方法修改為:
calculateBCT($event, index: number) {
// Your existing logic goes here...
const calculatedResult = result ? result : 0;
// In below code, please put some checks to ensure that formControl does exist
const formControl = this.itemTypes().at(index).get('avgCapacity');
formControl.setValue(calculatedResult);
}
編輯:
由于您已經在 html 檔案中有 formGroup 可用,您可以簡單地將lineItem作為第二個引數傳遞給calculateBCT并訪問 formControl 作為const formControl = lineItem.get('avgCapacity');
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/404683.html
標籤:
