将angular2 select / option更改为ul / li绑定到选择

时间:2016-11-16 15:10:45

标签: angular twitter-bootstrap-3 angular2-template

我想将以下selectoption标记更改为ulli

<select [(ngModel)]="selectedLanguage" name="selectedLanguage">
                    <option *ngFor="let lang of languages" [value]="lang">{{lang}}</option>
                </select>

理想情况下,它可以像bootrap一样友好:

<ul class="dropdown-menu">
   <li>...</li>
</ul>

有人可以帮忙吗? 感谢

修改: 如果我只更改select的{​​{1}}和ul的{​​{1}},我就会

option

我认为li标记在error_handler.js:49ORIGINAL EXCEPTION: No value accessor for form control with name: 'selectedLanguage' 上无效,但我不确定如何修复它

我需要使用选定的[value]

更新li

2 个答案:

答案 0 :(得分:3)

您无法将[(ngModel)]="..."<ul>一起使用。这仅适用于提供ControlValueAccessor的组件。您需要为支持<ul>的{​​{1}}元素实例化一个组件才能使其正常工作。

答案 1 :(得分:2)

重写应该如此简单:

<ul class="dropdown-menu">
    <li *ngFor="let lang of languages" (click)="selectedLanguage = lang">{{lang}}</li>
</ul>
  

使用plunker作为示例用法