Вы должны включить формы в ваш селектор. import {FormGroup} из '@ angular / forms'.
дал компонент для обработки окна выбора, теперь, когда я помещаю его в тег формы после отправленной формы, результат выбора не отображается в консоли.
В чем проблема с моим кодом? Как я могу это исправить?
testOption: массив объектов, которые я передал, с помощью поля выбора@Input
.вот компонент выбора блока:
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'input-select',
template:`
<div class="field-select">
<span><icon name="select-arrow" size="10"></icon></span>
<select name="{{name}}" class="field">
<option value="0" disabled selected>{{label}}</option>
<option *ngFor="let option of options" [ngValue]="option.value">{{option.name}}</option>
</select>
</div>
`
})
export class InputSelectComponent implements OnInit {
@Input() label: string;
@Input() name: string;
@Input() options;
// testOptions = [
// {value:'test',name:'test2'},
// {value:'test',name:'test2'}
// ];
constructor() { }
ngOnInit() {
console.log(this.options);
}
}
Использование в html:
<input-select label="test" name="select2" [options]="testOption"></input-select>
Форма HTML:
<form role="form" class="form" #f="ngForm" (ngSubmit)="onSubmit(f)">
<input class="field" name="name" ngModel type="text" placeholder="n1">
<input-select label="b2" name="select2" [options]="testObject"></input-select>
<input class="field" name="building-type" type="text" ngModel placeholder="b3">
</form>
журнал консоли: (нет значения в поле выбора)
Object {name: "test", building-type: "tset" }