• 【vue】element实现table的增加行和批量删除行功能



    <template>
    <div id="app">
    <el-table
    ref="multipleTable"
    :data="tableData3"
    tooltip-effect="dark"
    style=" 100%"
    @selection-change="handleSelectionChange">
    <el-table-column
    type="selection"
    width="55">
    </el-table-column>
    <el-table-column
    label="日期"
    width="120">
    <template slot-scope="scope">{{ scope.row.date }}</template>
    </el-table-column>
    <el-table-column
    prop="name"
    label="姓名"
    width="120">
    </el-table-column>
    <el-table-column
    prop="address"
    label="地址"
    show-overflow-tooltip>
    </el-table-column>
    </el-table>
    <div style="margin-top: 20px">

    <el-button @click="delMulData()">批量删除</el-button>
    <el-button @click="addData()">增加数据</el-button>
    </div>
    </div>

    </template>

    <script>
    export default {
    name: 'app',
    data() {
    return {
    tableData3: [{
    rowNum:1,
    date: '2016-05-03',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    rowNum:2,
    date: '2016-05-02',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    rowNum:3,
    date: '2016-05-04',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    rowNum:4,
    date: '2016-05-01',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    rowNum:5,
    date: '2016-05-08',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    rowNum:6,
    date: '2016-05-06',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }, {
    rowNum:7,
    date: '2016-05-07',
    name: '王小虎',
    address: '上海市普陀区金沙江路 1518 弄'
    }],
    multipleSelection: []
    }
    },

    methods: {
    //正常情况下是需要弹出一个dialog输入数据的,这里我们只是模拟一下实现方法
    //注意因为我们添加的是固定rowNum,所以批量删除的时候新增的会一样,正式代码中不会存在类似情况
    addData(){
    var data={
    romNum:100,
    date:'2018-12-3',
    name:'当白',
    address:'郑州市二七区'
    }
    this.tableData3.unshift(data)

    },



    delMulData(){
    //拿到选中的数据
    let val = this.multipleSelection
    //如果选中数据存在
    if(val){
    //将选中数据遍历
    val.forEach((val,index) =>{
    //遍历源数据
    this.tableData3.forEach((v,i)=>{
    //如果选中数据和源数据的某一条唯一标识符相等,删除对应的源数据
    if(val.rowNum === v.rowNum){
    this.tableData3.splice(i,1)
    }
    })
    })
    }
    //清除选中状态
    this.$refs.multipleTable.clearSelection()

    },


    //得到选中数据
    handleSelectionChange(val) {
    this.multipleSelection = val;
    }
    }
    }
    </script>

    ————————————————
    版权声明:本文为CSDN博主「当白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dangbai01_/article/details/83745714

  • 相关阅读:
    菜鸡的Java笔记 第二十八
    菜鸡的Java笔记 第二十七
    菜鸡的Java笔记 第二十六
    菜鸡的Java笔记 第二十五 wrapperClass 包装类
    bzoj3238 [Ahoi2013]差异
    bzoj4516 [Sdoi2016]生成魔咒
    bzoj3998 [TJOI2015]弦论
    bzoj1965 [Ahoi2005]洗牌
    bzoj4896 [Thu Summer Camp2016]补退选
    bzoj5055 膜法师
  • 原文地址:https://www.cnblogs.com/javalinux/p/15631895.html
Copyright © 2020-2023  润新知