问题标签 [controlvalueaccessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
213 浏览

angular - 如何使用 ControlValueAccessor 将 Checkbox-Group 的 ngModel 传递给父组件?

我正在为 multiCheckbox 使用自定义组件ControlValueAccessor

checkbox.component.ts

checkbox.component.html

到那时它工作正常。但问题是我无法将有界的父组件传递ngModel给父组件。checkboxes

**parent.component.html**

我无法跟踪ngModel所有三个复选框中的一个并将它们作为名称/状态传递给一个数组。checkbox.component.html本身工作正常,但不是在父母身上。

知道我哪里出错了吗?PS我不想使用:formGroup选项。

0 投票
1 回答
440 浏览

angular - 将 ControlValueAccessor 包装在另一个组件中

对于一个附带项目,我做了一个 ControlValueAccessor 的新实现(一个矩阵选择 AKA:一个可以选择和取消选择单元格的表格)。可以提供选项输入来更改矩阵响应用户交互的行为方式。

我正在尝试创建一个“示例”页面来列出具有各种选项集的几个矩阵选择控件(有点像这样:https ://material.angular.io/components/datepicker/overview )。对于每个示例,我想展示随着用户与控件和选项 json 交互而更新的绑定值 json。

这很简单,但重复(我有比下面提供的更多变化):

请注意,对于每个示例,我都必须输出 json 和 options 值。

在我的脑海中(可能是错误的),我想做的是:

并以这样的方式定义 AppExampleComponent ,它可以输出传入的任何组件的数据和选项(不仅仅是选择矩阵,还有我可能用所述属性定义的任何其他内容)。

我正在努力寻找任何资源来帮助我实现这一目标,我认为这可能是因为我很难说出我想要实现的目标。我希望一个组件包装另一个组件,以便它可以向我展示与该组件交互的效果。

我想其他实现方式是选项1:

或选项 2:

但我真的不想为我创建的每个未来 ControlValueAccessor 创建一个示例组件。

我觉得这里缺少一个关键的 Angular 功能。如果没有,您将如何处理?

0 投票
3 回答
6461 浏览

angular - 嵌套的自定义 FormArray 组件不与具有 FormArrayName 的子表单绑定

我尝试使用 CVA 制作 2 个嵌套表单。问题是当我将第二个 from 绑定到 formControl 时,它没有用数据初始化。

堆栈闪电战

在此处输入图像描述

我有主窗体

在主表单 html 中,我将路由绑定到 formArrayName。

组件CVA-FORM-ARRAY有。

这里的一切都很好。我将数组中的每个 formGroup 绑定到子组件 CVA-FORM。

CVA-FORM 为每个 formGroup 我创建了单独的组件,以防我想使用组件本身而不是整个数组。

main-form <--to--> app-cva-form-array 绑定由于某种原因不起作用。

这些形式的想法来自kara 关于 angulaconnect 的演讲。 这是她的幻灯片。

帮助PLZ!

0 投票
5 回答
8992 浏览

angular - Angular 7 - ControlValueAccessor - 修剪绑定到表单的输入值

我们在网页上有一个输入字段,必须在用户输入该数据的同时进行修剪。由于输入绑定到 Angular 表单,因此表单中的值也必须被修剪。我使用 Angular 7

显示的代码对我来说很好。我想知道是否有更简单的解决方案。

0 投票
5 回答
6806 浏览

javascript - Angular 双向数据绑定和监视父组件的变化

使用双向数据绑定时,似乎无法观察父组件的变化。

我有一个用于收集标签列表的自定义输入组件。双向数据绑定在此组件及其父组件之间设置和工作。

在父组件中,你如何观察绑定变量的变化?虽然它始终是最新的(我已经确认了这一点),但我找不到任何关于对更改做出反应的指导。

我试过了:

更新: TWDB 恕我直言,不是它宣传的那样。每当我到达 TWDB 似乎是一种解决方案的地方时,我都会为服务和/或可观察的通信重新架构。

0 投票
1 回答
1004 浏览

angular - Angular 7 Custom mat-checkbox 不使用 ControlValueAccessor 更新表单有效性

我创建了一个自定义 mat-checkbox 组件并实现了 ControlValueAccessor 接口,以便与传递的 formControl 或 ngModel 进行通信。

该复选框会在更改时更新分配的 formControl,但是我的问题是它似乎没有注册验证器功能,无论是模板驱动的还是反应式的方式。

这是我的组件:

这是我的模板:

这就是我如何将我的组件称为模板驱动的方式:

checkboxForm2.valid始终保持真实。如何使所需的验证器工作?

0 投票
1 回答
33 浏览

angular - 使用 contolvalueaccessor 嵌套表单

我有一个容器组件和两个子组件:trip 和 component。为了将子组件嵌套在父组件中,我实现了 Controlvalueaccessor。我创建了一个实现 Controlvalueaccessor 的 abstractvalueaccessor 类,然后其他组件(旅行和联系)正在扩展它。

https://stackblitz.com/edit/angular-dfxwde

当我在每个组件中分别实现 CVA 时,我能够实现表单值的嵌套,因为我可以使用表单组值,但在这种情况下不能。

0 投票
0 回答
101 浏览

angular - 如何使用 ControlValueAccessor 实现多级(嵌套)组件

我有一个复杂的表格,需要 4~5 层嵌套表格。我有几个组件,它们都实现了 ControlValueAccessor 并且返回类型是一个对象数组。除了返回 FormGroup 之外,有什么方法可以返回 FormArray 以便我可以使用多个组件来实现多级嵌套表单?

顶级组件:

组分A:

B组份:

组分 C:

0 投票
1 回答
205 浏览

angular - 关于 Angular 中的控制值访问器,最常见的不良做法是什么?

我正在实现一个控制值访问器以将它与我的角度形式集成。

在其中传递某种类型的对象是否有效/正确,或者在使用角度形式时建议使用原语?

作为 FormControl 传递的对象:

转换此对象(在控制值访问器类中)是一种不好的做法吗?或者我应该在更高级别上转换它,当我为一个比方说发布请求准备有效负载时?

我正在寻找有关控制值访问器实现的好的和坏的做法。我读过的大部分内容都只是关于如何实现它。

0 投票
2 回答
3763 浏览

angular - 将 formControlName 传递给 Angular 组件

我有一个反应形式。设置与此类似:

我在我的表单上使用它,如下所示:

这只是我表格的精简版。我有多个输入,我必须为每个输入创建错误 div。

所以为了解决这个问题,我尝试创建一个组件。该组件与上面的代码非常相似:

ts文件:

所以在我的表单上,我想按如下方式使用这个组件:

但我不能让它与 formControlName 属性一起使用。

这可能吗?

谢谢

我快到了。

我已经创建了这个 StackBlitz,所以请展示我的进度:

演示

现在只是在努力解决错误以及如何访问 formControl 以检查这些错误