0
Я использую Angular2 и ngSemantic
библиотеки. Я создал форму, и вот мой код:ngSemantic select не привязывается к объекту
файл шаблона:
<div class="container">
<h1>My first form</h1>
<form class="ui form" [formGroup]="myForm">
<sm-loader [complete]="!submitted" class="inverted" text="Loading..."></sm-loader>
<div class="field">
<sm-select [(model)]="firstSelect" [control]="myForm.controls.category" placeholder="Search..." class="fluid search">
<option *ngFor="let item of itemslist" [value]="item">{{item.name}}</option>
</sm-select>
</div>
<div class="field">
<sm-select placeholder="Search..." class="fluid search">
<option *ngFor="let i of firstSelect?.items">{{i}}</option>
</sm-select>
</div>
<sm-button (click)="onSubmit()" [disabled]="!myForm.valid" class="primary">Login</sm-button>
</form>
</div>
Компонент Файл:
itemslist: any = [
{ name: 'first', items: ['one', 'two', 'three']},
{ name: 'second', items: ['one', 'two', 'three']},
{ name: 'third', items: ['one', 'two', 'three']}
];
constructor(private dataService: DataService, fb: FormBuilder) {
this.myForm = fb.group({
'category': [],
'subcategory': [],
'name': [],
'email': []
});
}
Петля во втором выбора не работает, потому что firstSelect
результаты быть строка вместо Object
. Возможно, это происходит потому, что select
/option
сделка с string
или number
.
Как я могу это решить?
Да, я знаю. Я редактировал свой вопрос, это была опечатка. Извините и благодарю вас за ваш ответ. Во всяком случае, это не сработает. – smartmouse
Я не знаю 'sm-select', но для обычного выбора вам нужно использовать' [ngValue] = "..." 'при привязке объектов вместо строк в элементе' '. –
Я знаю. Если использовать 'select' и' ngValue' на 'option', это работает :( – smartmouse