问题标签 [angular-abstract-control]
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.
javascript - 从 Angular 反应式 FormArray 获取同级 AbstractControl - 自定义验证
我在 Angular 中有一个使用反应式表单的联系表单。表单包含firstName
和lastName
的数组address
。每个地址表单组都包含一个复选框,如果选中该复选框,则需要验证 State 文本框,以及最小和最大字符长度。
我编写了一个自定义验证器,即“ stateValidator
”,我试图获取兄弟元素“ isMandatory
”,但我无法获得控制权。
我尝试了以下方法
control.root.get('isMandatory');
- 它的回归null
control.parent.get('isMandatory');
- 它的抛出异常
我在 stackoverflow 中找到了一些链接,但没有可用的答案,并且一些答案没有给出解决方案,例如上面的代码:control.root.get('isMandatory');
我从其中一个视频教程中得到了这个,但没有任何效果。
StackBlitz 中提供了完整的工作源代码:https ://stackblitz.com/edit/angular-custom-validators-in-dynamic-formarray
app.component.ts
app.component.html
请帮助我如何在自定义验证器方法中获取兄弟抽象控件。
我尝试了以下几个答案中指定的代码
它抛出一个错误ERROR Error: too much recursion
。请帮助我如何解决这个问题。
angular - 尝试在 Angular 中添加子 FormGroup 时出现错误 TS2339
我正在使用 Angular8 并尝试使用 addControl 将子 FormGroup 添加到表单中:
这给了我编译器错误:
error TS2339: Property 'addControl' does not exist on type 'AbstractControl'.
真的坚持这一点,所以所有的帮助都非常感谢!
angular - Angular Reactive Form:从控件中删除特定的验证器
我正在使用 Angular 反应形式。在我的场景中,验证器被动态添加到我的控件中。
这样做如下:
这工作得很好。
问题
我需要一种方法来删除特定验证器,同时保留其他验证器。
myControl.validators
只返回一个函数,而不是一组验证器,这使得无法选择一个来删除而留下其他的。
我知道有一些解决方法,比如跟踪其他地方的现有验证器等。但是我的问题是:这可以直接在AbstractControl
?
Github 上的以下问题讨论了该问题: https ://github.com/angular/angular/issues/13461
那里提供的解决方案似乎对我不起作用,因为我不仅要处理所需的验证器,还要处理许多自定义验证器。
提前感谢您对此的任何提示或解决方案!
干杯,迈克
javascript - 如何通过 Angular 9 中的 FormGroup (AbstractControl) 在 Reactive Form 中重置 ng-select?
我有一个带有一堆 ng-select 元素的 FormGroup。我还有以下代码可以重置反应表单中的所有值,但 ng-select 元素除外。
我也试过currentControl.patchValue('')
and with null
,但它不起作用。当我在其中加载错误的“ item
”时,ng-select
它有一个选定的值“ undefined
”,我想在它是时清除这个默认选定的值undefined
。这就是我使用== null
.
即使你有一个 hacky JavaScript (Vanilla) 解决方案,也要分享它。
angular - 错误:“AbstractControl”类型缺少“FormGroup”类型的以下属性:控件、registerControl、addControl、removeControl、
我使用 android 制作了一个天气 API Web 应用程序,
链接:- https://stackblitz.com/edit/maximlweatherapp
APP 网址:- https://maximlweatherapp.stackblitz.io
我在我的 Visual Studio 代码中使用了相同的代码,它工作正常,没有出现任何错误,但在 StackBlitz 中,它给出了错误两者的唯一区别是在我的 Visual Studio 中,安装了 Angular 版本 8,但我在这里使用 Angular 版本 9,请任何人都可以看到代码有什么问题并建议我进行一些更改,
angular - 角度中的 FormControl 和 AbstractControl 问题
我正在学习在线课程,但我有很多问题。
我取决于我输入我得到的代码
“abstractcontrol”类型缺少“formcontrol”类型的以下属性:registerOnChange、registerOnDisable、_applyFormState
或者
类型 Abstractcontrol 不可分配给类型 formcontrol
在我的组件的 TS 中,我有
在我拥有的组件的 HTML 中
我不确定示例是哪个版本,但我使用的是 Angular 11.05
提前致谢。
问候
尼古拉斯
angular - 从 AbstractControl 访问 MatCheckbox
我有一个MatCheckbox
我FormGroup
希望能够读取的indeterminate
值。但FormGroup
唯一给我AbstractControl
的 s 似乎不能转换为,也不包含对我能够找到的底层控制的任何引用。
如何读取indeterminate
底层证券的价值MatCheckbox
?
编辑:有两个 .ts 文件与我的表单交互:第一个是表单的控制器(我认为这是正确的术语?),它可以访问表单上的变量,并且具有可以从html。第二个服务似乎充当表单和其他服务/组件之间的中间人。这一项中的功能也可以从表单中获得,但它似乎无法触及表单本身;正是在这项服务中,我AbstractControl
得到了 . 该服务是我需要能够确定是否indeterminate
在MatCheckbox
.AbstractControl
angular - 如何以角度访问 *ngFor 中的 FormGroup 的 formArray?
我正在使用使用 FormArray 的嵌套 FormControl。我的表格是这样的:
并在 HTML 模板中
**但上述代码返回Build Error
的控件在 abstractControl 上不存在。**
所以我转换form.get('addresses')
成FormControl
使用这个getter Melthod。
在那次转换之后。新的构建错误引发了controlGroup does not contain this methods : addControl, removeCotnrol and ...
因为addressArray.**controls**
返回数组而abstractControl
不是指令需要。FormControl
[formGroup]
FormControl
我怎样才能*ngFor
像这样定义类型:
这可能吗?
请帮我。