这个页面是针对订单里面有多个商品,但是需要一个个评价的需求
代码展示:
<block wx:for="{{appraiseList}}" wx:for-index="index" wx:for-item="item" wx:key="key">
<view class="order-info">
<view class="order-info-prod">
<image src="{{item.image}}" mode="aspectFit"></image>
<view class="order-info-prod-right">
<view class="order-info-prod-right-name">{{item.subTitle}}</view>
<view class="order-info-prod-right-size">尺寸:{{item.orderColor}} {{item.orderSize}}</view>
</view>
</view>
<view class="order-info-star">
<view class="order-info-star-label">整体评价</view>
<van-rate value="{{item.star }}" data-item="{{item}}" data-id="{{index}}" void-icon="star" color='#F3AE5A' void-color="#eee" custom-class="order-info-star-star" bind:change="changeStar" />
</view>
<view class="showImages">
<textarea bindinput="setMessage" placeholder-class="message-placeholder" maxlength="100" placeholder="快写下你的感受分享给大家吧!" />
<van-uploader file-list="{{ item.fileList }}" multiple="true" accept="image" max-count="3" data-id="{{index}}" image-fit="aspectFit" bind:after-read="afterRead" bind:delete="deleteImages" />
</view>
<view class="publish">
<view class="message">
<van-checkbox custom-class="checkbox" data-id="{{index}}" value="{{item.anonymity }}" checked-color="#D40A14" bind:change="changeCheck">
匿名
</van-checkbox>
<view class="showImages-label">您的评价会以匿名的形式展现</view>
</view>
<view class="publishBtn" id="{{item.orderItemId}}" bindtap="publish">发布</view>
</view>
</view>
</block>
<van-toast id="van-toast" />
<van-dialog id="van-dialog" />
js代码
举例一个方法,就是星星的选择
async userEvaluationDetails(param) {
let { data } = await userEvaluationDetails({ orderId: param })
console.log("评价列表:", data);
if (data) {
data.map(item => {
item.fileList = []
item.star = 5,
item.anonymity = false
})
this.setData({
appraiseList: data
})
}else{
wx.showToast({title:'暂无可评价商品',icon:'none',duration:2000})
setTimeout(() => {
wx.navigateBack()
}, 2000)
}
},
changeStar(detail) {
console.log("detail:", detail);
let item = detail.target.dataset.item
let id = detail.target.dataset.id
let num = detail.detail
let appraiseList = this.data.appraiseList
appraiseList[id].star = num
this.setData({
appraiseList: appraiseList
})
},
如有错误,欢迎指证。