基于elementUI库中table组件二次封装

组件链接: github.com/ZYuMing/el-…

解决问题

在支持el-table组件已有功能的基础上集成了排序,筛选,分页,请求服务端数据等功能,具有更好的拓展性。(支持JSX)

组件参数

参数说明类型可选值默认值
mode加载数据的方式Stringlocal/remotelocal
url服务端数据接口urlString
columns表格每列数据的显示配置Srray
showPagingTool是否显示分页组件Booleanfalse
size每页显示条数Number-
showSelection是否显示表格选择框Booleanfalse

组件用法

基础用法。

在配置datacolumns属性后即可正常展示数据

    <template>
        <div>
            <el-grid width="500" :config="tableCfg" :data="data"></el-grid>
        </div>      
    </template>

    <script>
        export default {
            data(){
                return{
                    data: [
                        {
                            date: '2016-05-02',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, 
                        {
                            date: '2016-05-04',
                            name: '王小虎',
                            address:  '上海市普陀区金沙江路 1517 弄'
                        },
                        {
                            date: '2016-05-03',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1516 弄'
                        }
                    ],
                    tableCfg:{
                        columns:[
                            {
                                prop: 'name',   
                                label: '姓名',
                                render:(row)=>{
                                    return <el-button>{row.name}</el-button>
                                }
                            },
                            {
                                prop: 'date',  
                                label: '日期'
                            },
                            {
                                prop: 'address',  
                                label: '地址'
                            }
                        ]
                    }
                }
            }
        }
    </script>
复制代码

加载服务端数据

需要配置urlmode属性,url表示拉取数据的url地址。

<template>
    <div>
        <el-grid width="500" :config="tableCfg" ></el-grid>
    </div>      
</template>

<script>
    export default {
        data(){
            return{
                tableCfg:{
                    pageSize: 5,
                    mode: 'local',
                    url:'https://easy-mock.com/mock/5cb2c5708185550e7d51c038/example/getList',
                    columns:[
                        {
                            prop: 'name',   
                            label: '姓名'
                        },
                        {
                            prop: 'date',  
                            label: '日期'
                        },
                        {
                            prop: 'address',  
                            label: '地址'
                        }
                    ]
                }
            }
        }
    }
</script>
复制代码

转载于:https://juejin.im/post/5cb59af7e51d456e6d13347f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值