AngularJS / Ionic - NG根据项目值选择

时间:2016-11-02 12:40:09

标签: javascript angularjs ionic-framework

解决

我正在使用表单控件组,因此必须通过它设置默认值,如下所示:

this.data.get('selectedSite').setValue(oldActive)

希望这有助于某人!

我使用以下代码将数组绑定到离子选择组件:

<ion-select formControlName="selectedSite" >
    <ion-option color="light" *ngFor="let site of sites" value="{{site.site}}" ng-selected="site.active == '1'">{{site.site}}</ion-option>
</ion-select>

如果网站有1,则对于活动网站,默认情况下应选择该网站。然后像这样构造数组:

this.sql.query('SELECT site,active FROM Site_tbl ORDER BY site ASC').then((res) => {
    for (var i = 0; i < res.res.rows.length; i++) {
        this.sites.push({ site: res.res.rows.item(i).site, active: res.res.rows.item(i).active })
    }
})

结果数组看起来像这样:

Array[44]
   0: Object
       active: 0
       site: "Site 1"
   1: Object
       active: 1
       site: "Site 2"
   2: Object
       active: 0
       site: "Site 3"
   ....

因此,在这种情况下,应选择Site 2。站点列表成功绑定到列表,我可以在列表中看到它们的名称(ngFor repeat在这方面起作用)但ng选择条件似乎没有效果,默认情况下,框选择框显示为空而不是显示所选(活动)网站。

基本问题,但我已经尝试了我能想到的一切,非常感谢帮助!

1 个答案:

答案 0 :(得分:0)

您忘了在ng-selected表达式中添加双花括号。它应该是:

<ion-select formControlName="selectedSite" >
    <ion-option color="light" *ngFor="let site of sites" 
     value="{{site.site}}" ng-selected="{{site.active}}">{{site.site}}</ion-option>
</ion-select>