前言

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

vue-split-table【表格合并和编辑插件】的更多相关文章

  1. ANT table表格合并

      1.    合并前提 后台返回数据必须是:相同重复的数据必须是连在一起的,这样前台才能通过rowspan方法合并表格数据.(这是前提,后台需要注意) 2.步骤 1.前台需要根据后台返回的数据内容, ...

  2. bootstrab table+表格 select可编辑完整实例

    先看下效果图: ============================================================================================ ...

  3. display:table表格合并单元格

    直接上代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...

  4. jsp table 表格单元格编辑示例

    列表单元格: //两个 隐藏的 input, 第一个存 记录 id, 单元格内容是排序码 : <td id="ordinal"><%=ordinal%> & ...

  5. vue ele table表格 设置只能勾选一个

    table 更改属性设置: <el-table ref="multipleTable" :data="tableData" tooltip-effect= ...

  6. Vue中table表头合并的用法

    <div class="panel-container"> <div> <table class="table-head" wid ...

  7. 封装Vue Element的可编辑table表格组件

    前一段时间,有博友在我那篇封装Vue Element的table表格组件的博文下边留言说有没有那种"表格行内编辑"的封装组件,我当时说我没有封装过这样的组件,因为一直以来在实际开发 ...

  8. jquery银行电子账单表格填入和编辑插件

    jquery银行电子账单表格填入和编辑 前段时间做的一个银行表格账单的jquery插件,用于金额写入和编辑的应用,希望对大家有所帮助,发现问题欢迎回复 ;(function($){ function ...

  9. Vue + Element-ui实现后台管理系统(5)---封装一个Form表单组件和Table表格组件

    封装一个Form表单组件和Table组件 有关后台管理系统之前写过四遍博客,看这篇之前最好先看下这四篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-syste ...

随机推荐

  1. 4.瀑布流js

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. linux-awk-3

    awk 基础语法 Awk –Fs '/pattern/ {action}' input-file (或者) Awk –Fs '{action}' input-file -F 为字段分界符.如果不指定, ...

  3. node.js入门学习(五)--Demo模块化改造

    1.node.js中模块的分类 1)node.js内置模块(核心,原生) 所有内置模块在安装node.js时就已经编译成二进制文件,可以直接加载运行(速度较快),部分内置模块,在node.exe这个进 ...

  4. JSP如何实现文件断点上传和断点下载?

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  5. sqli-labs(24)

    0x1 前言 SQL注入一般分为两类:一阶SQL注入(普通SQL注入),二阶SQL注入 .二次注入不是注入两次的意思,请不要混淆 0x2 什么是二阶注入 二阶注入是指客通过构造数据的形式,在浏览器或者 ...

  6. 不知道Java类文件结构的同学,看这篇文章就够了

    一.前言 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步.经过多年的发展,目前的计算机仍然只能识别0和1,但是由于近10年内虚拟机以及大量建立在虚拟机之上的程 ...

  7. C#调用C++的库 P/Invoke工具集

    p/Invoke可以使用工具辅助自动生成,以减少混淆 1.官方的支持 http://visualstudiogallery.msdn.microsoft.com/site/search?query=p ...

  8. iOS常用加密之RSA加密解密

    前言: iOS常用的加密有很多种,前两天在工作中遇到了RSA加密,现在把代吗分享出来. RSA基本原理 RSA使用"秘匙对"对数据进行加密解密.在加密解密数据前,需要先生成公钥(p ...

  9. ERROR:imshow、Mat、waitkey找不到标识符(opencv)

    可以发现imshow.Mat.waitkey这三个都是opencv相关的. 在添加了相关库文件后还是有问题. #include "stdafx.h" #include <st ...

  10. 6、Shiro之自定义realm

    1.创建一个包存放我们自定义的realm文件: 创建一个类名为CustomRealm继承AuthorizingRealm并实现父类AuthorizingRealm的方法,最后重写: CustomRea ...