微信小程序——数组对象的增、删、改、查
1.模拟数据的初始化定义
data: { type_name: '项目分类', name_name: '项目名称', type_sId: "", name_sId: "", NumberValue: "", //数量 ExplainValue: "", //情况说明 RepaiSlip: [] //定义空数组 },2.数据的新增
RepairInfo_add: function() {//创建新增的方法 var obj = {};//新增一个空对象 //定义对象的属性及初始化 obj.oid = this.data.RepaiSlip.length + 1;//定义一个oid,用于根据数组自增 obj.otype_sId = this.data.type_sId;//测试数据 obj.oname_sId = this.data.name_sId; obj.otype_name = this.data.type_name; obj.oname_name = this.data.name_name; obj.oNumberValue = this.data.NumberValue; obj.oExplainValue = this.data.ExplainValue; let RepaiSlip = this.data.RepaiSlip; RepaiSlip.push(obj);//将对象添加到数组对象 //给进行赋值 this.setData({ RepaiSlip, }) },
2.数据的删除
前台按钮绑定删除事件
view wx:for="{{RepaiSlip}}" wx:for-index="key" wx:key="index" wx:for-item="item" style="height:50rpx;margin-top:15rpx" view class="cross_column" input disabled="true" value="{{item.oid}}.{{item.oname_name}}({{item.otype_name}})*{{item.oNumberValue}}"/input text class="text_update" data-oid="{{item.oid}}" bindtap="edit_bind"编辑/text text class="text_update" data-oid="{{item.oid}}" bindtap="del_bind"删除/text /view /view后台根据绑定的oid进行删除
// 删除按钮事件 del_bind: function(e) { //取出要删除数据的oid var vOid = e.currentTarget.dataset.oid; var RepaiSlip = this.data.RepaiSlip; //从oid的前一个位置开始删除一位 RepaiSlip.splice(vOid - 1, 1); console.log(RepaiSlip); this.setData({ RepaiSlip }) },3.数据的修改
前台同上面一样,后台调用点击事件
// 编辑按钮事件 edit_bind: function(e) { var vOid = e.currentTarget.dataset.oid;//获取选择行的id var RepaiSlip = this.data.RepaiSlip const length = RepaiSlip.length if (vOid) { for (let i = 0; i = length - 1; i++) { if (vOid == RepaiSlip[i].oid) {//找到后进行页面跳转 wx.navigateTo({ url: 'RepairInfo?JsonData=' + JSON.stringify(RepaiSlip[i]) }) } else { console.log("没找到结果") } } } },修改页面接收赋值
onLoad: function(options) { if (options.JsonData != undefined) { var vData = JSON.parse(options.JsonData)//将传过来的json字符串转换为json数组 this.setData({//赋值 type_sId: vData.otype_sId, name_sId: vData.oname_sId, type_name: vData.otype_name, name_name: vData.oname_name, NumberValue: vData.oNumberValue, ExplainValue: vData.oExplainValue }) } },4.数据的查询
根据数组的唯一标识循环对比查询
var vOid = e.currentTarget.dataset.oid;//获取选择行的id var RepaiSlip = this.data.RepaiSlip const length = RepaiSlip.length if (vOid) { for (let i = 0; i = length - 1; i++) { if (vOid == RepaiSlip[i].oid) {//找到后进行页面跳转 wx.navigateTo({ url: 'RepairInfo?JsonData=' + JSON.stringify(RepaiSlip[i]) }) } else { console.log("没找到结果") } } }













