如何从ion-select选项中获取值 [英] How to get the value from ion-select option
问题描述
我有一个名为选项的对象数组。
这是我的HTML代码
<ion-item>
<ion-label>place</ion-label>
<ion-select [(ngModel)]="place" (click)="optionsFn(item);">
<ion-option value="item" *ngFor="let item of options">{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
{{salespriceOp}}
{{quantityOp}}
这是我的.ts文件代码
this is my .ts file code
product_option_value_idOp
priceOp
salespriceOp
quantityOp
skuOp
nameOp
options = [
{
"product_option_value_id": "45",
"name": "Bangalore Auto",
"quantity": "12",
"sku": "56876",
"price": "100.00",
"salesprice": "50"
},
{
"product_option_value_id": "51",
"name": "Hyderabad Auto",
"quantity": "23",
"sku": "56543",
"price": "200.00",
"salesprice": "60"
},
{
"product_option_value_id": "52",
"name": "Delhi Auto",
"quantity": "14",
"sku": "98767",
"price": "300.00",
"salesprice": "80"
}
];
constructor(public navCtrl: NavController) {
}
optionsFn(item) {//here item is an object
console.log(item);
this.product_option_value_idOp = item.product_option_value_id;
this.priceOp = item.price;
this.salespriceOp = item.salesprice;
this.quantityOp = item.quantity;
this.skuOp = item.sku;
this.nameOp = item.name;
}
我可以调用该函数但是我我在
console.log(item)中未定义
推荐答案
有几件事情共同造成了这个错误。
第一个改变是,而不是使用点击
这样的事件:
There were several things that together caused that error.
The first change there is that instead of using the click
event like this:
(click)="optionsFn(item);
你应该使用 ionChange
Ionic暴露的事件如下:
You should use the ionChange
event that Ionic exposes like this:
(ionChange)="optionsFn();"
另请注意,因为您使用 [(ngModel) ] =place
将select元素绑定到组件的某个属性,您不需要将该项作为参数发送,因为 this.place $触发
ionChange
事件时,c $ c>将成为所选项目。
Also notice that since you use the [(ngModel)]="place"
to bind the select element to one of your component's properties, you don't need to send the item as a parameter, because this.place
will be the selected item when the ionChange
event is triggered.
这就是你的 optionsFn
方法如下所示:
That's why your optionsFn
method would look like this:
public optionsFn(): void { //here item is an object
console.log(this.place);
let item = this.place; // Just did this in order to avoid changing the next lines of code :P
this.product_option_value_idOp = item.product_option_value_id;
this.priceOp = item.price;
this.salespriceOp = item.salesprice;
this.quantityOp = item.quantity;
this.skuOp = item.sku;
this.nameOp = item.name;
}
这篇关于如何从ion-select选项中获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!