加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 如何从ion-select选项中获取值

发布时间:2020-12-17 09:57:52 所属栏目:安全 来源:网络整理
导读:我有一个名为options的对象数组. 这是我的HTML代码 ion-item ion-labelplace/ion-label ion-select [(ngModel)]="place" (click)="optionsFn(item);" ion-option value="item" *ngFor="let item of options"{{item.name}} nbsp;nbsp;{{item.price}}/ion-opti
我有一个名为options的对象数组.

这是我的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}} &nbsp;&nbsp;{{item.price}}</ion-option> 
        </ion-select>
      </ion-item>

{{salespriceOp}}

{{quantityOp}}

这是我的.ts文件代码

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;
  }

i am able to invoke the function but i am getting undefined in console.log(item)

有几件事情共同造成了这个错误.
第一个更改是,而不是像这样使用click事件:
(click)="optionsFn(item);

您应该使用Ionic公开的ionChange事件,如下所示:

(ionChange)="optionsFn();"

另请注意,由于您使用[(ngModel)] =“place”将select元素绑定到组件的某个属性,因此您无需将该项目作为参数发送,因为this.place将是所选项目何时触发ionChange事件.

这就是你的optionsFn方法看起来像这样的原因:

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;
  }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读