我正在使用离子2。我有一个射电组(更改语言(:
<ion-list radio-group >
<ion-item *ngFor="let language of languages">
<ion-label>{{language.name}}</ion-label>
<ion-radio id="language.id" (ionSelect)='showConfirmAlert(language.id)' [checked]="isLanguageSelected(language.id)" [value]="language.name"></ion-radio>
</ion-item>
</ion-list>
选择项目(单击"单击单击"按钮(,项目会自动更改并检查。但是我需要显示一个确认警报,然后,如果用户取消项目选择并返回初始检查项目。
。我的代码
将"检查"属性粘合isLanguageSelected(lang){
let answer = (lang === this.actualLanguage) ? true : false;
return answer;
}
chooseLanguage(lang){
this.actualLanguage = lang;
this.appGlobals.set('actualLanguage', this.actualLanguage);
}
它首次到达页面上的工作,但是如果我再次启动,例如选择英语:
this.chooseLanguage('en') ;
this.actualLanguage
已将其登录,已很好地更改为" en",和this.isLanguageSelected('en');
返回true
,但是,不符合en-Inem的"检查"值,并且项目未更新。
是否有一种方法可以从代码中更新项目属性,而不仅是单击"单击"按钮?
谢谢!
更新答案:
最后,我通过使用[(ngmodel(]变量解决了这一点,并在我的代码中切换了一些元素(删除离子电气,更改bendent benden bending valuble的变量...(
<ion-list radio-group [(ngModel)]="selectedLanguage" (ionChange)="onChange()" >
<ion-list-header>
Choisissez la langue {{actualLanguage.id}}
</ion-list-header>
<ion-item *ngFor="let language of languages">
<ion-label>{{language.name}}</ion-label>
<ion-radio id="language.id" (click)='showConfirmAlert(language.id)' [value]="language.id"></ion-radio>
</ion-item>
</ion-list>
在您的 .ts 页面中:
- 定义布尔变量:
checkedRadio: boolean
- 将变量绑定到您的组件:
<ion-radio [(ngModel)]="checkedRadio"></ion-radio>
现在您可以从this.checkedRadio = false
或this.checkedRadio = true
我希望对您有所帮助。:(