在 Angular 中动态创建的字段中有条件地更改字段时如何推送相同的一组值?

How to Push the same set of values when changing fields conditionally in dynamic created fields in Angular?

我创建了一个包含 2 个下拉菜单和一个文本框字段的动态行,我们可以添加或删除更多行。

我有一个条件,如果第一个下拉值被选为 'Date' ,第二个下拉值被选为 'Equal To' ,文本框字段将更改为日期选择器字段。

然后当我们按下 + 图标时,它应该再次添加默认行(2 个下拉列表和 1 个文本框字段)。但是现在它是在执行上述条件时添加一个Datepicker字段。

我已经为这个问题创建了一个 stackblitz link - 有人可以帮忙吗?

(Select Date From First Dropdown 和 Equal To From Second 。然后点击 + ,期望是默认情况下应添加一个新行)。提前致谢

您将需要一种方法来区分每个项目的日期,例如使用 [index]

你可以定义

  showDatePicker: boolean[] = [false];
  hideValue: boolean[] = [false];

并转换所有属性以匹配此新结构。

改变

  showDatePicker[i] = false  // Where showDatePicker = false
  showDatePicker[i] = true  // Where showDatePicker = true
  showDatePicker[i] != true  // Where showDatePicker == false
  showDatePicker[i] =- true  // Where showDatePicker == true
  hideValue[i] = false // Where hideValue = false
  hideValue[i] = true  // Where hideValue = true
  hideValue[i] == true  // Where hideValue == true
  hideValue[i] != true  // Where hideValue == false

See Demo