使用ng-translate更改语言后,ion-select不会更改文本

时间:2018-01-01 01:35:18

标签: angular localization ionic3

我正在使用ngTranslate for my ionic 3 App。我正在使用ion-select更改我的应用的多个选项(包括语言)。我遇到的问题是,在没有用户交互的情况下选择另一种语言后,ion-selects中的文本不会更改文本(即,如果我单击选项,主文本将以正确的语言显示)。

我尝试以这种方式使用ngZone但没有成功

this.storage.set('userLanguage', lang).then(() => {
        this.zone.run(() => {
            console.log("zone run");
        });
    });

2 个答案:

答案 0 :(得分:0)

所以,也许不是最好的方法,但我不知道更好的方法。我已经在我的选择showSelects

中声明了一个布尔ngIf
<ion-select *ngIf="showSelects">
    ...stuff..
</ion-select>

每次用户更改语言时,我都会将变量更改为false,然后再次更改为true

答案 1 :(得分:0)

在某个地方使 Option 文本不能在 Select 文本上刷新。

无论如何,使用[selectedText]的这种解决方法可能会有所帮助:

<ion-label>{{ 'select-2-label' | translate }}</ion-label>
<ion-select interface="popover" [(ngModel)]="select2Value"
            [selectedText]="(select2Value === '') ?
            ('selects-option-txt-all' | translate) : undefined">
    <ion-option value="" >{{ 'selects-option-txt-all' | translate }}</ion-option>
    <ion-option value="text_2">Text 2</ion-option>
</ion-select>

似乎此问题已在https://github.com/ionic-team/ionic/issues/8561

中找到。