0.1.9 • Published 1 year ago

element-table-mixin v0.1.9

Weekly downloads
1
License
ISC
Repository
github
Last release
1 year ago

element-table-mixin

基于ElementUI 封装的TableMixin

特性

  • 请求列表数据
  • 带筛选项的列表数据请求
  • 支持自定义返回体取值
  • 支持自定义基于Axios封装的请求函数

版本变更记录


安装

yarn add element-table-mixin or npm i element-table-mixin

使用

main.js

import axios from 'axios'
import {TableMixinConfig} from 'element-table-mixin'

// 其他配置详见文档
TableMixinConfig.REQUEST = axios
使用内置组建:

这种方式不是特别灵活,还请大家提PR完善

<template>
  <div>
    ...
    <table-container
        :url='tableDataUrl'
        style="flex:1"
        :columns="tableColumns"
        :table-ops="tableOps"
        :auto-load="true"
        :filters="filterForm"
        ref="table">
          <template slot="column">
            <el-table-cloumn></el-table-cloumn>
          </template>
    </table-container>
    ...
  </div>
</template>
### 效果图
![alt 效果图](http://blog.fengtianhe.cn/images/element-table-mixin.png)

##### 自定义table方式
```javascript
import {TableMixin} from 'element-table-mixin'

export default {
    ...
    mixins: [TableMixin],
    data() {
        return {
            baseUrl: UserService.URL_USER_LIST,
            filterForm: {},
            tableData: {}
        }
    },
    created() {
        this.setTableFilter()
    }
    ...
}

使用分页组件

<template>
  <table-pagination
      :base-url="baseUrl"
      :datasource.sync="tableData"
  />
</template>

<script>
import {TablePagination} from 'element-table-mixin'
export default {
  components: {TablePagination},
  data() {
    return {
      baseUrl: UserService.URL_USER_LIST,
      filterForm: {},
      tableData: {}
    }
  },
}
</script>

参数

props
proprequire描述type说明
columnstrue表格的列ArrayColumnObject 见下面例子
tableOpsfalse行数据操作项ArrayOpObject = {command: '', name: '', handle: (scope) => {}}
urltrue列表请求地址String
elTableStripefalse表格是否使用斑马线Boolean全局可使用TableMixinConfig配置
elTableBorderfalse表格是否使用边框Boolean全局可使用TableMixinConfig配置
elTableSizefalse表格的尺寸String'mini, small, medium' 全局可使用TableMixinConfig配置
elTableSizefalse是否自动加载请求Boolean默认 true
ColumnObject
{
    "label": "创建时间", 
    "prop": "createdAt", 
    "align": "center", 
    "width": "130px", 
    "formatter": tableFormatDate,
}
event
事件名说明
methods
方法说明
resetFilter()重置筛选项并查询
setFilter()设置筛选项并查询
setTableFilter()从Url的Query中获取filters中对应的值进行赋值查询
slot
name说明
column自定义列
TableMixinConfig
name说明
REQUEST默认请求使用 axios,
PAGE_SIZE_DEFAULT每页默认数量 15,
PAGE_NUM_DEFAULT默认页码 1,
RESPONSE_LIST_FIELD列表数据对应字段 data.lists,
RESPONSE_PAGESIZE_FIELD每页数量对应的字段 data.size,
RESPONSE_PAGENUM_FIELD页码对应的字段 data.pageNum,
RESPONSE_TOTAL_FIELD总条数对应的字段 data.total,
EL_TABLE_STRIPE全局设置表格样式:斑马线
EL_TABLE_BORDER全局设置表格样式:边框
EL_TABLE_SIZE全局设置表格样式:尺寸
默认配置的返回值

如果后端的返回值和默认不一致,请调整配置项

{
  ...,
  "data": {
    "lists": [],
    "size": 15,
    "pageNum": 1,
    "total": 50
  }
}

交流联系方式:
  • QQ:545704061
  • 微信:fth545704061
0.1.9

1 year ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.3

3 years ago

0.0.14

4 years ago

0.1.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.0.15

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago