验证FormGroup-Typescript上是否存在元素

验证FormGroup-Typescript上是否存在元素,typescript,formgroups,Typescript,Formgroups,我有一个FormGroup(我称之为form),我将从一个对象中设置一组值: 我的电话号码: if(form.get('value1') && myObj.val1){ form.get('value1).patchValue(myObj.val1); } if(form.get('value2') && myObj.val2){ form.get('value2).patchValue(myObj.val2); } if(form.get('valu

我有一个FormGroup(我称之为form),我将从一个对象中设置一组值:

我的电话号码:

if(form.get('value1') && myObj.val1){
   form.get('value1).patchValue(myObj.val1);
}
if(form.get('value2') && myObj.val2){
   form.get('value2).patchValue(myObj.val2);
}
if(form.get('value3') && myObj.val3){
   form.get('value3).patchValue(myObj.val3);
}

如果不使用这么多if?

就没有更好的方法来实现这一点,您可以定义一个映射并对其进行迭代,如下所示:

const map: [string, string][] = [
    ['value1', 'val1'],
    ['value2', 'val2'],
    ['value3', 'val3'],
]

for (const [formName, propertyName] of map)
{
    if(form.get(formName) && myObj[propertyName])
        form.get(formName).patchValue(myObj[propertyName]);
}

你不是第一个为它挠头的人。实际上,有一些工作是朝着这个方向进行的: