1.循环遍历
<scroll-view scroll-y class="scroll">
<view v-for="(item, index) in Codes" :key="index" >
<view class="cu-item" >
<text class="code" @tap="onClickItemRemove" :data-index="index" >{{ item }}</text>
<view class="icon-item"><uni-icon type="cancel" color="#007aff" size="20" @click="onClickItemRemove"></uni-icon></view>
</view>
<view style="width:calc(100% - 60upx);margin-left:30upx;height:1px;background:#EBEBEB;" />
</view>
</scroll-view>
v-for的使用方法 在需要循环的标签上 加上 v-for="(item, index) in Codes" :key="index" Codes 就是 数据集 在 data 中定义的其中 item 就是循环的子项
2. 数据筛选 比如 页面上删除 现在注册点击事件 @tap 是按下事件 绑定数据 index(也就是循环的索引):data-index="index"
在数组中删除这一项 that.Codes.splice(e.target.dataset.index,1);
此处有个 大坑 就是 this 关键字 可能取不到 data中的值 所以 需要 重新定义
onClickItemRemove: function(e) {
var that = this;
uni.showModal({
title: '提示',
content: '确定要删除这条数据吗?',
success: function(res) {
if (res.confirm) {
that.Codes.splice(e.target.dataset.index,1);
that.boxcont = parseInt(that.boxcont) - 1;
} else if (res.cancel) {
//取消
}
}
});
},
3.直接用uin-app 的写法就行
scan: function() {
uni.scanCode({
success: res => {
//判断是否已经扫过
this.boxcont = parseInt(this.boxcont) + 1;
this.Codes.push(res.result);
}
});
},