Я создал компонент для обработки окна выбора, теперь, когда я положил его в тег формы после представленной формы, результат выбора не отображается в консоли.Как использовать ngModel с настраиваемым элементом управления внутри формы?
В чем проблема с моим кодом? Как я могу это исправить?
- 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" }
вы говорить о 'testOption' и' testObject '. Какое правильное имя? :) Проверьте это первым .. – mxii
@mxii правильное имя testOption. мой плохой :) – Sajad
Показать свой «родительский» компонент, пожалуйста. (шаблон) – mxii