Angular Form重置值并设置其所有初始值,而不是null

时间:2019-02-08 09:01:28

标签: angular angular-forms

例如,我下面有一个表格。

searchForm = new FormGroup({
    firstName: new FormControl(''),
    lastName: new FormControl('')
  })

问题是,当我使用searchForm.reset()时,初始值设置为null,而不是我在''中设置为初始值的空字符串FormControl

我尝试执行以下代码,并且可以正常工作。 问题是,例如,我有20个FormControl,我将需要全部输入并在.reset({firstName:'', other20properties..})

中对其进行初始化

this.searchForm.reset(
      {
        firstName: '',
        lastName: ''
      }
    );

是否可以重置表单并将其所有初始值设置为空字符串''

1 个答案:

答案 0 :(得分:2)

在这种情况下,最好将表单初始化包装到单独的方法中,然后像这样在<ComboBox.ItemContainerStyle > <Style TargetType="{x:Type ComboBoxItem}"> <Setter Property="ToolTip"> <Setter.Value> <ToolTip Content="{Binding ItemToolTip}"/> </Setter.Value> </Setter> </Style> </ComboBox.ItemContainerStyle> 之后调用该方法-

public List<object> CbxItemsSource { get; set; } = InitCbxSource();
private static List<object> InitCbxSource()
{
    var dblLst = new List<double>() { 1, 2, 3 };
    return dblLst.Select(dbl => (object)new { ItemValue = dbl, ItemToolTip = "e.g. item index " + dblLst.IndexOf(dbl)}).ToList();
}