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

栏目: 软件资讯 · 发布时间: 6年前

内容简介:vue-split-table应用的效果图

vue-split-table应用的效果图

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

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

1.核心源码分析

  1. 里面嵌套实现表格拆分;
  2. 原生实现复选框的单选和全选功能;
  3. props属性像父组件暴露属性值;
  4. $emit自定义事件方法向父组件传值;
  5. 作用域插槽由父向子传入html标签;
  6. 嵌套input标签实现表格编辑,v-for不允许input标签里面使用v-model改变item值问题解决;
  7. webpack打包配置
  8. 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工程
    <template>
      <split-table :headData="headData" :bodyData="bodyData" @multipleData="multipleData" @editData="editData">
        <template slot="operate" slot-scope="props">
          <span @click="splitEdit(props.rowData)">修改</span>
          <span @click="splitAdd(props.rowData)">新增</span>
          <span @click="splitDel(props.rowData)">删除</span>
        </template>
      </split-table>
    </template>
    
    <script>
      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);
        }
        }
      }
    </script>
    复制代码

    参考文章:

    时钟组件


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

信息检索导论

信息检索导论

Christopher D.Manning、Hinrich Schütze、Prabhakar Raghavan / 王斌 / 人民邮电出版社 / 201008 / 69.00元

封面图片为英国伯明翰塞尔福瑞吉百货大楼,其极具线条感的轮廓外型优美,犹如水波的流动。其外表悬挂了1.5万个铝碟,创造出一种极具现代气息的纹理装饰效果,有如夜空下水流的波光粼粼,闪烁于月光之下,使建筑的商业氛围表现到极致。设计该建筑的英国“未来系统建筑事物所”,将商场内部围合成一个顶部采光的中庭,配以交叉的自动扶梯,使购物环境呈现出一种凝聚的向心力和商业广告的展示效应。作为英国第二商业城市伯明翰的建......一起来看看 《信息检索导论》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具