vue-split-table【表格合并和编辑插件】

前言

vue-split-table应用的效果图

在这里插入图片描述

vue-split-table开源地址,欢迎star,现在已经开源和同步到npm上
轻松搞定表格拆分或者合并,编辑,再也不怕被产品怼啦

1.核心源码分析

  1. <td>里面嵌套<table>实现表格拆分;
  2. 原生实现复选框的单选和全选功能;
  3. props属性像父组件暴露属性值;
  4. $emit自定义事件方法向父组件传值;
  5. 作用域插槽<template slot-scope>由父向子传入html标签;
  6. 嵌套<input>实现表格编辑,v-for不允许<input>里面使用v-model改变item值问题解决;
  7. webpack打包配置

vue-split-table开源地址,欢迎star和pr

2.暴露的Attributes

参数说明类型是否必传Default
headData表头内容Array必传-
bodyData表体内容Array必传-
checkFlag是否有复选列Boolean可选True
tableEditFlag表格是否可编辑Boolean可选True
operFlag是否有操作列Boolean可选True

3.暴露的Events

name说明参数
multipleData当选项发生变化触发multipleData
editData表格编辑文本框失焦触发editData

4.slot

事件名说明
operate配置操作列后就可通过设置slot来配置操作的内容

5.撸起示例代码


基于vue工程
&lt;template&gt;
  &lt;split-table :headData="headData" :bodyData="bodyData" @multipleData="multipleData" @editData="editData"&gt;
    &lt;template slot="operate" slot-scope="props"&gt;
      &lt;span @click="splitEdit(props.rowData)"&gt;修改&lt;/span&gt;
      &lt;span @click="splitAdd(props.rowData)"&gt;新增&lt;/span&gt;
      &lt;span @click="splitDel(props.rowData)"&gt;删除&lt;/span&gt;
    &lt;/template&gt;
  &lt;/split-table&gt;
&lt;/template&gt;

&lt;script&gt;
  import SplitTable from 'vue-split-table';
  export default {
    components: { SplitTable },
    data () {
      return {
         headData: ["城市", "美食", "好玩的地方"],
      bodyData: [
        { city: "北京", food: "北京烤鸭", fun: ["故宫", "颐和园", "长城"] },
        {
          city: "深圳",food: ["肠粉", "牛肉火锅"],fun: ["西冲", "华侨城", "世界之窗"]
        },
        {
          city: ["重庆", "成都", "武汉"],
          food: ["重庆老火锅","重庆烤鱼","重庆小面","成都小吃","武汉热干面"],
          fun: ["洪崖洞", "峨眉山", "黄鹤楼"]
        }
      ], 
      }
    },
    methods: {
    splitEdit(rowData) {
      console.log("rowData值为", rowData);
    },

    editData(data) {
      console.log("编辑所在行的值为", data);
    }

    splitAdd(data) {
      console.log("新增所在行的值为", data);
    },

    splitDel(data) {
      console.log("删除所在行的值为", data);
    },

    multipleData(data) {
      console.log("复选框选择的值为", data);
    }
    }
  }
&lt;/script&gt;

参考文章:

时钟组件

来源:https://segmentfault.com/a/1190000016769754

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值