【发布时间】:2020-06-28 11:33:12
【问题描述】:
我正在使用 Ionic 4。
我想在 ion-select-option 中显示一个默认值。
选项的值来自服务器。
API 工作所有值显示,但点击 ion-select。
但我想显示默认值。
我已经在构造函数中初始化了 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"}]}
register.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);
});
}
register.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>
【问题讨论】:
-
试试这 3 个步骤,告诉我你得到了什么。 1. 在 onInit 而不是构造函数中初始化您的用户类型 2. [selected]="userData.business_type == item.name" ,这里您将“1”设置为值,然后将 item.name 与此进行比较,什么在 item.name 中吗? 3. 在上面的代码中,ion-select 带有值 - “job/service”,如果您可以再次检查您的代码,在 ngmodel 中您将其指定为 1,因此根据我的观察,您已经弄乱了键和值,因为当然。如果还有其他事情,请告诉我
标签: android ionic-framework ionic4 default-value ion-select