各位先進好,
想要詢問一個操作上的問題
如果使用reactive form,將input資料存在firestore
當我想要編輯的時候,將資料從firestore取得
是只能透過patchvalue的方式,將資料一一存回reactive form嗎?
各位先進好,
想要詢問一個操作上的問題
如果使用reactive form,將input資料存在firestore
當我想要編輯的時候,將資料從firestore取得
是只能透過patchvalue的方式,將資料一一存回reactive form嗎?
reactive form 的 formControl 或 FormGroup 可以用 setValue 和 patchValue 兩種方式設定值
請閱讀 Angular.io - reactive form 文件
是~感謝幫我回答!~
我提的問題不夠明確,我想了解的是
如果我的formGroup有20幾個formControl
我從firestore get 資料後,如果要編輯這些資料
是否就只有一個一個將這些資料,使用patchValue放回formControl
再去編輯?
例如:
purchaseArr.controls[i].patchValue({
goodsSerialNumber: row.numberName,
goodsName: row.goodName,
goodsUnit: row.unitForm
})
你給的範例是 FormArray 裡面的 FormGroup? 還是 FormControl. FormArray 也能將值更新回去
不是很懂你卡住的點
Hi
感謝回覆,我的範例的確是我FormArray裡的FormGroup
目前是都有使用patchValue將值更新回去
但因為有20多個input要更新,
在想是不是只有一直使用patchvalue的方式將值更新的方法?
還是有其他方法可以使用
另外,想再問個取值的問題
目前的做法是從B component(dialog)將ID傳回A component
然後在A component使用此ID到firestore取值
接著在A component patchvalue。
=>但其實在B component就有全部的值可以直接傳回去
請問我應該直接透過material dialog的功能,將值全部都傳回去
還是我應該像現在的做法,透過只傳回ID
再由A component使用ID去firestore取值就好?
好奇你 firestore 回傳的結果是什麼?那樣的描述聽起來有點奇怪
hi
我在B component 使用material Table
顯示在firestore上,collection名稱為purchaseData的資料
getData() {
return this.firestore.collection(‘purchaseData’)
}
=> firestore回傳的是很多筆資料,這些資料會在material Table顯示
透過讓使用者從material Table中選擇資料,回傳給A component的
只會是使用者選擇的那一筆。
但因為從B component已經從firestore 取得一次資料
才會在想,是不是該從B component回傳使用者選擇的那一筆資料就好
但目前回傳給A component ,做法是只回傳ID(doc 名稱)
讓 A component透過ID去firestore取值
再patchvalue到A component中的form上
兩種方式都可以.
感謝~那我使用讓介面少一點code的方式
根據ID,從firestore再重新抓資料回來就好