android - 如何在 ion-select-option 中动态设置默认值
问题描述
我正在使用 Ionic 4。
我想在 ion-select-option 中显示默认值。
选项的值来自服务器。
API 工作所有值显示,但点击离子选择。
但我想显示默认值。
我已经在构造函数中初始化了 userData.business_type。
我已经更新了我的问题,你可以看到。
当我的页面加载时,离子选择仅下拉按钮显示中没有显示值,但是当我单击下拉按钮时,显示值。
但是当页面对用户可见时,我想默认显示第一个值。
回复
{"success":1,"service_details":[{"id":"1","name":"Job\/Service","status":"1"},
{"id":"2","name":"Student","status":"1"},{"id":"3","name":"House Wife","status":"1"},{"id":"4","name":"Business","status":"1"}]}
注册.ts
userData = { "fname": "", "lname": "", "contact_no": "", "email_id": "", "password": "",
"business_type": "", "organization_name": "", "designation": "", };
constructor () {
this.userData.business_type = "1";
}
getAllService(){
let loading = this.loadingCtrl.create({
spinner: 'circles',
message: 'Please wait...'
}).then(loading => loading.present());
this.authService.getData("get_all_service_type.php").then((result) => {
this.items = result;
this.success = this.items.success;
console.log(this.success);
if (this.success == 1) {
this.loadingCtrl.dismiss();
this.serviceData = this.items.service_details;
console.log(this.serviceData);
} else {
this.message = this.items.message;
this.loadingCtrl.dismiss();
}
}, (err) => {
this.loadingCtrl.dismiss();
console.log("Error", err);
});
}
注册.html
<ion-item>
<ion-label>Occupation </ion-label>
<ion-select value="Job/Service" (ionChange)="optionsFn()" name="business_type" [(ngModel)]="userData.business_type">
<div *ngFor="let item of serviceData">
<ion-select-option value="{{item.id}}">{{item.name}}
</ion-select-option>
</div>
</ion-select>
</ion-item>
或者
<ion-item>
<ion-label>Occupation</ion-label>
<ion-select value="1" (ionChange)="optionsFn()" name="business_type" [(ngModel)]="userData.business_type">
<ion-select-option *ngFor="let item of serviceData" value="{{item.id}}" [selected]="userData.business_type == item.name">{{item.name}}</ion-select-option>
</ion-select>
</ion-item>
解决方案
如果在设置离子选择值后加载您的离子选择选项值,则不会显示选择的默认值。由于您使用后端服务来获取选择选项,因此通过设置 *ngIf 条件在获取所有选择选项后更好地显示整个离子选择组件
推荐阅读
- python - 无法调用函数以使退出框出现在pygame中
- javascript - 如何让 Google 使用 history.pushState 索引我的页面?
- xml - 如何使用 VB.net 代码从 XML 文件创建 XSD 文件
- javascript - 在 AS3 中悬停时缩放
- php - 如何从以 .dll 结尾的外部 url 接收和解析 xml 请求
- c++ - 如何在类中为向量使用 () 初始化程序?
- azure - 函数“SignalR”的侦听器无法启动。Azure 函数与信号器绑定
- javascript - 选中复选框时如何显示/隐藏列
- elasticsearch - 术语与术语查询的评分不同
- mysql - SQL:选择所有商品已过期的所有客户