单条数据之真删除与假删除
真删除与假删除 的区别 真删除就是直接将数据从原有数组中删除掉,而假删除则是将要删除的数据消失在用户的实现中,但是它本身还是存在于数组当中的,只不过是被隐藏起来了让用户不可见 --个人推荐假删除
wxml
<view class="table">
<view class="tr bg-w">
<view class="th">序号</view>
<view class="th">器具名称</view>
<view class="th ">规格/型号</view>
<view class="th">操作</view>
</view>
<block wx:for="{{list}}" wx:for-item="list" wx:key="id">
<view class="thx">
<view class="tr bg-g">
<view class="td">{{list.id}}</view>
<view class="td">{{list.Appliancename}}</view>
<view class="td">{{list.Specification}}</view>
<view class="td">{{}}</view>
</view>
<view class="an">
<button class="delete" data-index="{{index}}" bindtap="Delete">删除</button>
</view>
</view>
</block>
</view>
</view>
真删除
- 获取需要删除数据的下标
- 将list[] 赋值给对象 lists 并对其使用splice(下标,数量)进行删除
- 返回数组 list
js
data: {
list: [
{
id: 1,
Appliancename: '温度变送器',
Specification: '测试'
},
{
id: 2,
Appliancename: 'cece',
Specification: '测试'
},
]
},
Delete: function (e) {
var lists = this.data.list;
console.log(lists)
var index = e.currentTarget.dataset.index;
lists.splice(index, 1);
this.setData({
list: lists,
})
},
假删除
- 获取要删除的下标
- 将对应下标中isDeletes属性改为false 也就是将其置为不可见
- 返回数组即可
js
data: {
list: [
{
id: 1,
Appliancename: '温度变送器',
Specification: '测试',
isDeletes: true
},
{
id: 2,
Appliancename: 'cece',
Specification: '测试',
isDeletes: true
},
],
},
Delete: function (e) {
var lists = this.data.list; // 获取原数据
var index = e.currentTarget.dataset.index; // 得到下标
lists[index].isDeletes = false // 将对应下边的isDeletes 属性改变
this.setData({ // 返回数据即可
list: lists
})
},