账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    在iview table中怎么实现批量删除功能?
    53
    0

    将table定义为一个子组件,在进行父子组件之间通信的时间可以实现单个数据的删除,但是在实现批量删除的时间出现问题?
    代码如下:

    <div class="edittable-con-1">
        <can-edit-table refs="table" v-model="Data" :columns-list="Columns"></can-edit-table>
    </div>

    可以通过时间监听的方式,将子组件选择的row传递给父组件,父组件也可以接受子组件传递的数据

    bus.$on('selections', msg => {
        this.selections = msg
    })

    此时问题来了,怎么删除指定的数据?
    我使用的方法是

    this.Data.filter((d) => {
        for(let i = 0; i < selections.length; i++) {
            if(d.Name === this.selections[i].Name && d.Des === this.selections[i].Des) {
                break
            } else {
                return d
            }
        }
    })

    此时就不能过滤数据和删除数据
    请问下应该怎么实现

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 放ジ荡〆 普通会员 1楼

      在iview中,批量删除功能可以通过自定义排序规则实现。以下是一个简单的示例:

      javascript iview Table { columns: [ { title: '商品名称', width: 100, rules: [ { operator: 'eq', value: '你的商品名称' }, { operator: 'eq', value: '你的删除条件' } ] }, { title: '删除数量', width: 100, rules: [ { operator: 'eq', value: '你的删除数量' } ] } ], data: [ { id: 1, name: '商品1', count: 5 }, { id: 2, name: '商品2', count: 3 }, { id: 3, name: '商品3', count: 2 }, { id: 4, name: '商品4', count: 1 }, { id: 5, name: '商品5', count: 4 } ], methods: { handleDelete(index) { this.data.splice(index, 1); this.$set(this.$data, 'count', 0); } } }

      在这个示例中,我们创建了一个自定义排序规则,该规则将商品名称与"删除条件"进行比较。当用户点击删除按钮时,我们将删除指定的行。我们还为每个删除行设置了一个删除数量,以确保只有指定数量的行被删除。

      请注意,这只是一个基本示例,实际的批量删除功能可能需要更复杂的逻辑。例如,你可能需要检查删除的数量是否大于当前行的数量,或者在删除行后更新删除数量。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部