在新增地址这个操作中是会设置是不是默认的地址,属性是isDefault 当我们勾选的时候, isDefault是为true,那么此时是需要把数据库中的isDefault为true 改为false 确保isDefault只有一个true
async myaddresslistbyitem(context, playload) {
if (playload.isDefault) {
let { data: list } = await myaddressModel.query({
isDefault: true
})
console.log(list)
if (list.length) {
let id = list[0].id //找到要更型数据的id
await myaddressModel.updata(id, {
isDefault: false
})
context.commit("changeisDefault", id) //调用同步方法更新页面
}
}
let { data: list } = await myaddressModel.add({ //新增数据库的操作
...playload
})
context.commit("myaddresslistbyitem", list)
}
页面层面的操作 也就是mutations的操作
changeisDefault(state, playload) {
state.myaddresslist = state.myaddresslist.map(item => {
if (item.id == playload) {
item.isDefault = false
}
return item
})
}
},