【问题标题】:Get prefill input value ionic angular获取预填充输入值离子角度
【发布时间】:2020-02-01 00:52:29
【问题描述】:

我从 API 中检索一些 init 数据并将它们显示在我的视图中以预填充一些字段。

我是一个表单视图,其中包含:

<ion-textarea formControlName="job_description" class="form-control desc" value="{{resDesc?.job_description}}"></ion-textarea>

当我提交表单时,我尝试通过以下方式获取数据:

this.form.get('job_description').value

而且它总是为空...除非我在字段中写了一些东西。

我该怎么办?

谢谢

【问题讨论】:

    标签: angular ionic-framework


    【解决方案1】:

    您可以在 TS 文件中设置它,而不是在标签中设置值,如下所示:

    this.form = this.formBuilder.group({
      job_description: new FormControl("YOUR VALUE HERE")
    });
    

    它可以在我的电脑上运行?...

    【讨论】:

    • 谢谢!它可以帮助我找到解决方案,我在调用 API 后使用 this.form.controls[“job_description”].setValue(this.job_description); 完成了。
    【解决方案2】:

    您还可以使用patchValuesetValue 设置模型中所有字段的默认值。请参阅 patchValue and setValue 上的 Angular 文档。对于这个用例,我喜欢 patchValue

    setValue():

    使用setValue() 方法为单个控件设置新值。 setValue() 方法严格遵守表单组的结构,为控件替换整个值。

    patchValue():

    使用patchValue() 方法替换对象中定义的任何属性,这些属性在表单模型中已更改。

    示例

    ngOnInit() {
        this.http.get('/my-api).subscribe(data => {
            this.form.patchValue(data)
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2016-03-10
      • 1970-01-01
      相关资源
      最近更新 更多