gpt4 book ai didi

javascript - 遍历 FormGroup 控件时的 Angular2 patchValue

转载 作者:行者123 更新时间:2023-12-03 03:55:56 26 4
gpt4 key购买 nike

一旦像这样加载组件,我就会尝试将值修补到初始化的 FormGroup 中(其中 editForm 是 FormGroup,editInfo 是包含我想要修补到表单中的信息的 JSON):

Object.keys(this.editForm.controls).forEach(key => {
if ((key.includes("date") || key.includes("Date")) && this.editInfo[key] != undefined) {
this.editForm.patchValue({
key: {
date: {
year: this.editInfo[key].getFullYear(),
month: this.editInfo[key].getMonth() + 1,
day: this.editInfo[key].getDate()
}
}
});
}
});

出于某种原因,这不会修补任何值。 if 语句按预期运行,并且所有 .getFullYear()、.getMonth() 和 .getDate() 值(所有这些键值都是 Date 对象)均已定义且正确。当我更换时

this.editForm.patchValue({
key: {
date: {

this.editForm.patchValue({
'specificKey': {
date: {

该 key 已正确修补。是否有任何原因导致不指定 key 会导致此功能不起作用? This是我用于日期选择器的模块(我试图在上面修补的值),如果有任何用处的话。

最佳答案

通过 Ankit Saroch 提供的链接 (Is there a way to use variable keys in a JavaScript object literal?) 找到了我的答案。解决方案是在修补值时将 [] 放在键周围,如下所示:

this.editForm.patchValue({
[key]: {
date: {

使用方括号,键将被解释为 computed property names .

关于javascript - 遍历 FormGroup 控件时的 Angular2 patchValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44949833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com