gpt4 book ai didi

angular - patchValue 设置值并禁用该字段

转载 作者:行者123 更新时间:2023-12-05 00:42:11 26 4
gpt4 key购买 nike

我正在推送一个带有一些值的 FormArray,我需要在加载列表后在某些字段中动态设置禁用属性。我的问题是:有没有办法只使用 patchValue 来设置值和设置 disabled 属性?

我尝试过类似 this.rowArray.controls[index].patchvalue({format: "NUMBER", disabled:true}) 但它似乎不起作用。

  this.rowList.forEach((el, index) => {
this.rowArray.push(
this.fb.group(
{
name: new FormControl(el.name, [
Validators.required,
Validators.maxLength(30),
Validators.pattern(this.BAN_SPECIAL_BUT_UNDERSCORE)
]),
source: new FormControl(el.source, Validators.required)
.....

然后

    if (this.rowArray.controls[index].get("source").value === "CSV") {
this.rowArray.controls[index].patchValue({
format: "NUMBER",
disabled: true
});
}

rowList 是我来自后端的矩阵。

最佳答案

您可以使用 disable() 方法将 FormControl 动态设置为禁用。

documentation 中所述, patchValue() 将不起作用,因为它仅用于设置 FormControl 的值(而不是状态)。

Patches the value of the FormGroup. It accepts an object with control names as keys, and does its best to match the values to the correct controls in the group.

this.rowArray.controls[index].get('source').disable();

关于angular - patchValue 设置值并禁用该字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56883037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com