【发布时间】:2018-07-20 20:25:28
【问题描述】:
我需要创建一个搜索输入来过滤每个父帐户中的子帐户列表。目前,输入任何一个输入都会过滤所有帐户,而不仅仅是关联的帐户。
现场示例(StackBlitz)
Basic (no FormArray)
With FormArray
要求
- 账户和子账户的数量未知(1...*)
- 每个帐户都需要在 HTML 中拥有自己的搜索输入 (FormControl)
- 输入 A 应仅过滤帐户 A 的列表。
输入 B 应仅过滤帐户 B 的列表。
问题
如何确保每个 FormControl 只过滤当前 *ngFor 上下文中的帐户?
如何独立观察未知数量的 FormControl 的值变化?我意识到我可以观看 FormArray,但我希望有更好的方法。
理想情况下,解决方案应该:
- 使用响应式表单
- 当值改变时发出一个 Observable
- 允许在表单中动态添加/删除 FormControls
【问题讨论】:
-
将您的问题缩小到段落。
-
很遗憾,您不太可能得到任何已售出的答案,因为您没有将代码包含在问题正文中。链接到您的代码可能正在运行的第 3 方网站并不能替代它。
-
话虽如此,看看您的示例,您只有一个
searchTerm属性,但您有多个要过滤的数组。您需要找到一种方法使每个搜索框都独一无二(可能使用父中继器中的ind),并且每个子中继器都有一个唯一的searchTerm。 -
感谢您的提示!我会在星期一试一试。我认为 Stackbliz 会更好,因为它有很多代码。我因为这个问题太长而被否决了,但我会记住这一点!
-
克莱斯把我引向了正确的方向。我正在使用以下(目前):stackblitz.com/edit/angular-form-array-basic-solution
标签: angular typescript rxjs angular-reactive-forms angular-forms