组件名称: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. 【最大流】Escape

    https://www.bnuoj.com/v3/contest_show.php?cid=9149#problem/F [题意] 给定n个人和m个星球,每个人可以匹配某些星球,每个星球有一定的容量限 ...

  2. Organize Your Train part II 字典树(此题专卡STL)

    Organize Your Train part II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8787   Acce ...

  3. Balance POJ - 1837 地推

    Gigel has a strange "balance" and he wants to poise it. Actually, the device is different ...

  4. easyui webuploader 文件上传演示

    webuploader 上传首页 webuploader 上传前页面 webuploader 上传中页面 图就不上传了,状态会编程上传中 webuploader 已上传页面

  5. SQL Server中迁移数据的几种方法

    1.通过工具"DTS"的设计器进行导入或者导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不 多,如果只是进行SQL Server数据库中部分表的 ...

  6. Ionic3错误记录:navigation stack needs at least one root page

    BUG场景:在 ActionSheetController 使用modalCtrl.create 创建模态框时报如下错误 原代码片段 解决方式: 重新设置root page

  7. Mysql的timestamp类型,自动记录数据的更新时间

    datetime也可以设置自动更新的

  8. How to enable Google Play App Signing

    how to enable google play app signing  ------------------------------------------------------------- ...

  9. PLC基础入门

    PLC编程入门基础技术知识学习 2016-06-27  xjp7879  摘自 电工技术知...     第一章  可编程控制器简介 可编程序控制器,英文称Programmable Controlle ...

  10. chassis & power

    机箱电源 ★ Main board ★ Voltage, connector ★ Hole ★ Ports ★ AT:12``*13.8`` or 12``*13``  30.5cm*33cm ★ B ...