组件名称:jr-dynamic-query-table

组件布局

table组件名称:  jr-dynamic-query-table

分页组件名称: el-pagination

<div ref="table001" style="white">

<jr-dynamic-query-table

:columns="columns"

:data="content"

:border="true"

:stripe="true"

tooltip-effect="dark"

:selection="selection"

:height="tableHeight"

size="mini"

@selection-change="handleSelectionChange"

@row-dblclick="handleEdit"

class="jr-table-erp"

></jr-dynamic-query-table>

<div style="text-align: right;padding: 10px 0">

<el-pagination

@current-change="handleCurrentChange"

:current-page="page + 1"

:page-size="size"

layout="prev, pager, next, jumper"

:page-count="totalPages"

background

></el-pagination>

</div>

</div>

组件相关方法

1table高度自动计算的方法

async resizeTable() {

const { height, page, size } = await this.autoPagination({

ref: "table001",

minus: 102,

currentPage: this.page,

currentSize: this.size

});

this.tableHeight = height;

this.page = page;

this.size = size;

this.search();

}

该方法首次需要在amount里调用一次

async mounted() {

//await this.init();

await this.resizeTable();

}

需要配合v-resize使用

<template>

<div v-resize:throttle.1000="resizeTable">

...

</div>

</template>

使用实例:

<template>

<jr-dynamic-query-table

:data="data"

:columns="columns"

@change="handleChange"

@selection-change="handleSelectionChange"

@sort-change="handleSortChange"

size="mini"

:stripe="true"

class="jr-table-erp" />

</template>

<script>

import '../../JrVue';

export default {

data() {

return {

data: [

{

id: '0',

name: 'ytm',

sex: 'male',

birthday: '1990-09-03',

},

{

id: '1',

name: 'stm',

sex: 'female',

birthday: '1990-01-12',

},

],

columns: [

{ type: 'checkbox', align: 'center' },

{

type: 'filter',

prop: 'name',

label: 'name',

headerAlign: 'center',

sortable: 'custom',

},

{

type: 'select',

label: 'sex',

prop: 'sex',

headerAlign: 'center',

sortable: 'custom',

options: [

{ id: 'male', name: 'male' },

{ id: 'female', name: 'female' },

],

},

{

label: 'birthday',

prop: 'birthday',

sortable: 'custom',

headerAlign: 'center',

},

{

label: 'operation',

defaultSlot: ({ row }) => (

<el-button

type="danger"

size="mini"

onClick={() => window.console.log(row)}

>

删除

</el-button>

),

},

],

};

},

methods: {

handleChange(operators) {

window.console.log(JSON.stringify(operators));

},

handleSelectionChange(selection) {

window.console.log(selection);

},

handleSortChange(options) {

window.console.log(options);

},

},

};

</script>

<style>

</style>

展示内容:

Api说明

jr-dynamic-query-table是对el-table的一层薄封装,兼容el-table的所属属性和事件,此文档只讲解和el-table的不同之处。

el-table的使用文档参考:http://element.eleme.io/#/zh-CN/component/table

扩展属性:columns

columns是一个数组,用来取代el-column, 它支持el-column的所有属性和事件,区别是这里必须使用vue-jsx语法。

columns有一个特殊参数,type, 可选取值为checkbox, select, filter

其中checkbox类型的列会被解析为复选框。

select列被解析为多选,需要提供options列参数,提供选项。options参数格式为{id, name}

filter列被解析为动态查询列

columns通过defaultSlot属性自定义单元格内容,它相当于el-column的default插槽。

扩展事件:change

返回一个动态查询数组,用来配合后端动态查询功能。

定制样式:jr-table-erp

此样式负责将表格渲染成久蓉标准里规定的配色。

公司5:JrVue表格的更多相关文章

  1. element el-table表格的vue组件二次封装(附表格高度自适应)

    基于vue的el-table表格二次封装组件方法 前言 在公司实习使用vue+element-ui框架进行前端开发,使用表格el-table较为多,有些业务逻辑比较相似,有些地方使用的重复性高,如果多 ...

  2. Oracle、MySql、SQLServer数据分页查询

    看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...

  3. EBS中使用JAVA方式发送HTML格式邮件

    转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17174769 EBS中使用JAVA方式发送HTML格式邮件 一.开发工具:JDevel ...

  4. 如何打造千万级Feed流系统

    from:https://www.cnblogs.com/taozi32/p/9711413.html 在互联网领域,尤其现在的移动互联网时代,Feed流产品是非常常见的,比如我们每天都会用到的朋友圈 ...

  5. 008杰信-创建购销合同Excel报表系列-1-建四张表

    本博客的内容来自于传智播客: 我们现在开始要做表格了,根据公司要求的表格的形式,来设计数据库.规划针对这个表格要设计几张表,每张表需要哪些字段. 根据公司原有的表格,设计数据库: 原有的表格

  6. table样式测试总结tr td宽度分析

    题外话:一直以来习惯布局用ul,li样式调整比较方便,不会互相影响出现一些问题,but~现在公司涉及很多表格打印,都是用table写的,好多宽度高度合并啊,组合啊~~~,单元格之间互相影响,有的样式设 ...

  7. PDF 相关操作

    去年一年偷了下懒, 博客写了一点就没写了, 还好一些大的flag完成了.  花了半年的空余时间, 培养了一门兴趣爱好.   自己在为人处世上还是不够圆滑啊, 也难怪.   自己当初选择走技术这条路的初 ...

  8. 云原生时代的DevOps平台设计之道

    开发人员与运维人员是 IT 领域很重要的两大人群,他们都会参与到各种业务系统的建设过程中去.DevOps 是近年间火爆起来的一种新理念,这种理念被很多人错误的解读为"由开发人员(Dev)学习 ...

  9. 百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里?

    好多人在问:如何将百度地图里面搜索到的公司商家电话导出表格?怎样将把百度地图里面搜索到的公司 电话 地址 等数据导出excel里? 现在,很多人都在网络上找商家,联系业务. 百度地图里有很多的商家联系 ...

随机推荐

  1. 搭桥(codevs 1002)

    题目描述 Description 有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物.现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着矩形的方格的边沿搭建 ...

  2. 括号序列(Poj1141)

    Poj1141 题目描述: 定义合法的括号序列如下: 1 空序列是一个合法的序列 2 如果S是合法的序列,则(S)和[S]也是合法的序列 3 如果A和B是合法的序列,则AB也是合法的序列 例如:下面的 ...

  3. vagrant的学习 之 LNMP和LAMP

    vagrant的学习 之 LNMP和LAMP 本文根据慕课网的视频教程练习,感谢慕课网! 慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/va ...

  4. UVA 10603_Fill

    题意: 给定三个杯子容量,初始只有第三个杯子满,其余为空,求最少需要倒多少水才能让某一杯子中有d升水,如果不能达到,则小于d且尽量接近. 分析: 因为要求转移水量最少,所以采用优先级队列保存每次的状态 ...

  5. [bzoj4278][ONTAK2015]Tasowanie_后缀数组_贪心

    Tasowanie bzoj-4278 ONTAK-2015 题目大意:给定两个字符串,求两个字符串二路归并之后生成的字典序最小的字符串是什么. 注释:$1\le len_1,len_2\le 2\c ...

  6. JSP的调试

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/debugging.html: 一.使用System.out.println() System.out.p ...

  7. tornado的http服务器实现

    使用tornado实现的一个简单http服务器:只需要定义自己的处理方法,其他的东西全部交给tornado完成. #coding:utf-8 import tornado.httpserver imp ...

  8. Swift 函数Count,Filter,Map,Reduce

    原创Blog,转载请注明出处 blog.csdn.net/hello_hwc 前言:和OC不同,Swift有非常多全局的函数,这些全局函数对简化代码来说非常实用.眼下Swift出到了2.0,只是我这篇 ...

  9. Android 4.2 project导入 5.0 SDK Eclipse 开发环境出现的问题总结

    Android 4.2 project导入 5.0 SDK Eclipse 开发环境出现的问题总结 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循&qu ...

  10. SQL Server 海量数据查询代码优化以及建议

    1.应尽量避免在  where  子句中对字段进行   null  值推断,否则将导致引擎放弃使用索引而进  行全表扫描,如:     select id from t where num is nu ...