Угловое поле mat-form с выпуском FormControl и NgModel - PullRequest
0 голосов
/ 30 августа 2018

У меня есть mat-form-field с полем ввода с type="number".

Я не уверен, следует ли мне в моем случае использовать FormControl или NgModel.

У меня есть дочерний компонент, который recieves является объектом ввода, и я должен сохранить то, что написано в поле ввода, в свойство этого объекта.

это мой дочерний контроллер:

@Input()
  building: Building;  

@ViewChild("numberMatInput", {read: MatInput})
  numberMatInput: MatInput;
  numberInput: FormControl = new FormControl();

ngOnInit() {
    this.numberInput.valueChanges
    .subscribe(s => {
      this.building.radius = s;
    });
}

и мой взгляд:

<mat-form-field appearance="outline">
     <mat-label>KM</mat-label>
     <input type="number" matInput #numberMatInput [formControl]="numberInput">
</mat-form-field>
<mat-icon matListIcon (click)="numberInput.setValue('')">close</mat-icon>

так что это работает, входное значение сохраняется в свойстве объекта -> this.building.radius, но что не работает, это панель, которую можно открыть при выборе здания, и если я закрою панель и открою ее опять же, поле ввода пустое вместо того, чтобы показывать последнее значение перед закрытием панели.

Должен ли я использовать NgModel? так что я могу использовать на NgModel напрямую building.radius?

Извините, но я новичок в Angular!

1 Ответ

0 голосов
/ 30 августа 2018

сейчас я решил это так, изменил с FormControl на:

[(ngModel)]="building.radius"

и все, так что он прямо пишет на свойстве объекта, не уверен, что это лучший способ, но он работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...