我遇到了一些问题。
我有一个额定参数的动态表格输入,我尝试使用ionic3-star-rating模块; https://www.npmjs.com/package/ionic3-star-rating。打包其工作,但是我无法将动态值绑定到我的对象中。
这样的代码;
input-scanner.html
<div *ngFor="let dataP of dataParameter">
<ion-row class="parameter-input">
<ion-item text-center class="xgray">
<h4 class="h-title">{{dataP.name}}</h4>
</ion-item>
<ion-item no-padding text-center class="silver">
<ionic3-star-rating activeIcon="star" defaultIcon="star-outline" activeColor="#e6821e" defaultColor="#404040" readonly="false" [rating]="0">
</ionic3-star-rating>
</ion-item>
<ion-item class="item-input">
<ion-input type="text" placeholder="Masukkan notes.." [(ngModel)]="dataP.notes"></ion-input>
</ion-item>
</ion-row>
</div>
<button ion-button icon-only (click)="saveRecord(dataParameter)">
<ion-icon name="checkmark"></ion-icon>
</button>
input-scanner.ts
constructor(
public navCtrl: NavController,
public navParams: NavParams,
public events: Events,
public toastCtrl : ToastController,
public alCtrl : AlertController) {
events.subscribe('star-rating:changed', (starRating) =>
{
this.bindRatingId(1,starRating)
//我如何获取ID; (1)从我的活动中动态单击ionic3星级吗?
});
}
ionViewDidLoad() {
this.getDataParameter();
}
bindRatingId(id,starRating){
console.log(starRating);
}
getDataParameter(){
var data = [
{"name":"FIRE BOX. No.157","id":1,"rating":"","notes":""},
{"name":"PIPA. No.158","id":2,"rating":"","notes":""},
{"name":"FIRE BOX. No.158","id":3,"rating":"","notes":""},
];
for(let v of data){
this.dataParameter.push(v);
}
}
saveRecord(data){
console.log(data);
}
当我单击按钮saveRecord时,结果为;
[
{"name":"FIRE BOX. No.157","id":1,"rating":"5","notes":"some input"},
{"name":"PIPA. No.158","id":2,"rating":"","notes":""},
{"name":"FIRE BOX. No.158","id":3,"rating":"","notes":"" }
]
评级值未动态设置到我的对象中:(,
因为我在bindRatingId()中设置了手册,只是设置了id = 1。
如何从ionic3-star-rating模块动态获取值?当我尝试在attributee中添加[(ngModel)]时,出现错误代码。
有人可以帮我吗?谢谢你:)
答案 0 :(得分:1)
伙计们。我现在已经解决了这个问题,我只将ionic3-star-rating软件包更改为ionic2-rating模块。使用ngModel :)可以正常工作
答案 1 :(得分:0)
请将评分数据类型存储为数字,并应用以下代码。
<div *ngFor="let dataP of dataParameter">
<ion-row class="parameter-input">
<ion-item text-center class="xgray">
<h4 class="h-title">{{dataP.name}}</h4>
</ion-item>
<ion-item no-padding text-center class="silver">
<ionic3-star-rating activeIcon="star" defaultIcon="star-outline" activeColor="#e6821e" defaultColor="#404040" readonly="false" [rating]="dataP.rating">
</ionic3-star-rating>
</ion-item>
<ion-item class="item-input">
<ion-input type="text" placeholder="Masukkan notes.." [(ngModel)]="dataP.notes"></ion-input>
</ion-item>
</ion-row>
</div>