问题标签 [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.
angular - 如何使用 ControlValueAccessor 将 Checkbox-Group 的 ngModel 传递给父组件?
我正在为 multiCheckbox 使用自定义组件ControlValueAccessor
。
checkbox.component.ts
:
checkbox.component.html
:
到那时它工作正常。但问题是我无法将有界的父组件传递ngModel
给父组件。checkboxes
**parent.component.html**
:
我无法跟踪ngModel
所有三个复选框中的一个并将它们作为名称/状态传递给一个数组。checkbox.component.html
本身工作正常,但不是在父母身上。
知道我哪里出错了吗?PS我不想使用:formGroup
选项。
angular - 将 ControlValueAccessor 包装在另一个组件中
对于一个附带项目,我做了一个 ControlValueAccessor 的新实现(一个矩阵选择 AKA:一个可以选择和取消选择单元格的表格)。可以提供选项输入来更改矩阵响应用户交互的行为方式。
我正在尝试创建一个“示例”页面来列出具有各种选项集的几个矩阵选择控件(有点像这样:https ://material.angular.io/components/datepicker/overview )。对于每个示例,我想展示随着用户与控件和选项 json 交互而更新的绑定值 json。
这很简单,但重复(我有比下面提供的更多变化):
请注意,对于每个示例,我都必须输出 json 和 options 值。
在我的脑海中(可能是错误的),我想做的是:
并以这样的方式定义 AppExampleComponent ,它可以输出传入的任何组件的数据和选项(不仅仅是选择矩阵,还有我可能用所述属性定义的任何其他内容)。
我正在努力寻找任何资源来帮助我实现这一目标,我认为这可能是因为我很难说出我想要实现的目标。我希望一个组件包装另一个组件,以便它可以向我展示与该组件交互的效果。
我想其他实现方式是选项1:
或选项 2:
但我真的不想为我创建的每个未来 ControlValueAccessor 创建一个示例组件。
我觉得这里缺少一个关键的 Angular 功能。如果没有,您将如何处理?
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!
angular - Angular 7 - ControlValueAccessor - 修剪绑定到表单的输入值
我们在网页上有一个输入字段,必须在用户输入该数据的同时进行修剪。由于输入绑定到 Angular 表单,因此表单中的值也必须被修剪。我使用 Angular 7
显示的代码对我来说很好。我想知道是否有更简单的解决方案。
javascript - Angular 双向数据绑定和监视父组件的变化
使用双向数据绑定时,似乎无法观察父组件的变化。
我有一个用于收集标签列表的自定义输入组件。双向数据绑定在此组件及其父组件之间设置和工作。
在父组件中,你如何观察绑定变量的变化?虽然它始终是最新的(我已经确认了这一点),但我找不到任何关于对更改做出反应的指导。
我试过了:
和
更新: TWDB 恕我直言,不是它宣传的那样。每当我到达 TWDB 似乎是一种解决方案的地方时,我都会为服务和/或可观察的通信重新架构。
angular - Angular 7 Custom mat-checkbox 不使用 ControlValueAccessor 更新表单有效性
我创建了一个自定义 mat-checkbox 组件并实现了 ControlValueAccessor 接口,以便与传递的 formControl 或 ngModel 进行通信。
该复选框会在更改时更新分配的 formControl,但是我的问题是它似乎没有注册验证器功能,无论是模板驱动的还是反应式的方式。
这是我的组件:
这是我的模板:
这就是我如何将我的组件称为模板驱动的方式:
checkboxForm2.valid
始终保持真实。如何使所需的验证器工作?
angular - 使用 contolvalueaccessor 嵌套表单
我有一个容器组件和两个子组件:trip 和 component。为了将子组件嵌套在父组件中,我实现了 Controlvalueaccessor。我创建了一个实现 Controlvalueaccessor 的 abstractvalueaccessor 类,然后其他组件(旅行和联系)正在扩展它。
https://stackblitz.com/edit/angular-dfxwde
当我在每个组件中分别实现 CVA 时,我能够实现表单值的嵌套,因为我可以使用表单组值,但在这种情况下不能。
angular - 如何使用 ControlValueAccessor 实现多级(嵌套)组件
我有一个复杂的表格,需要 4~5 层嵌套表格。我有几个组件,它们都实现了 ControlValueAccessor 并且返回类型是一个对象数组。除了返回 FormGroup 之外,有什么方法可以返回 FormArray 以便我可以使用多个组件来实现多级嵌套表单?
顶级组件:
组分A:
B组份:
组分 C:
angular - 关于 Angular 中的控制值访问器,最常见的不良做法是什么?
我正在实现一个控制值访问器以将它与我的角度形式集成。
在其中传递某种类型的对象是否有效/正确,或者在使用角度形式时建议使用原语?
作为 FormControl 传递的对象:
转换此对象(在控制值访问器类中)是一种不好的做法吗?或者我应该在更高级别上转换它,当我为一个比方说发布请求准备有效负载时?
我正在寻找有关控制值访问器实现的好的和坏的做法。我读过的大部分内容都只是关于如何实现它。
angular - 将 formControlName 传递给 Angular 组件
我有一个反应形式。设置与此类似:
我在我的表单上使用它,如下所示:
这只是我表格的精简版。我有多个输入,我必须为每个输入创建错误 div。
所以为了解决这个问题,我尝试创建一个组件。该组件与上面的代码非常相似:
ts文件:
所以在我的表单上,我想按如下方式使用这个组件:
但我不能让它与 formControlName 属性一起使用。
这可能吗?
谢谢
我快到了。
我已经创建了这个 StackBlitz,所以请展示我的进度:
现在只是在努力解决错误以及如何访问 formControl 以检查这些错误