我想通过事件发射器将值设置为我的html输入,并且在提交表单时,这些值没有绑定。如何解决问题?

问题描述 投票:0回答:1

我有一个反应形式,两个输入字段正在更改Eventemitter的值(纬度和经度的值来自事件发射器(子组件))

这是我的child.component.ts,正在向父组件发送值...

this.lat.emit(this.latitude.toString());
this.lon.emit(this.longitude.toString());

这是我的parent.component.html ...

 <ngx-map (lon)="getLon($event)" (lat)="getLat($event)" ></ngx-map>

这是我的parent.component.ts,其中捕获发射的值

  lat;
  lon;

  getLat($event) {
    this.lat = $event;
  }
  getLon($event) {
    this.lon = $event;
  }

这是我在parent.component.ts中设置验证的方式。

form = new FormGroup({
    ///
    latitude: new FormControl('', [
      Validators.nullValidator,
    ]),
    longitude: new FormControl("", [
      Validators.nullValidator,
    ])
    ///

这是我parent.component.html ..中的表单代码。

    <form [formGroup]="form" (ngSubmit)="create()">

            <input
              status="primary"
              placeholder="Longitude"
              formControlName="longitude"
              type="text"
              nbInput
              fullWidth
              [value]="lon"

            />
            <input
              status="'primary'"
              placeholder="Latitude"
              formControlName="latitude"
              type="text"
              nbInput
              fullWidth
              [value]="lat"
            />
     </form>

这是我的.ts代码...

create() {
    console.log(this.form.value);
  }

我当时是将表单输入中的纬度和经度与发出的值绑定,并从create()方法打印所有来自字段的值。

我该如何解决这个问题?

angular angular-directive
1个回答
0
投票
使用以下反应形式的patchValue
© www.soinside.com 2019 - 2024. All rights reserved.