基于el-table封装简单的通用表格组件

<template>

<el-table :data="tableList" height="600" border style="width: 100%" :header-cell-style="{ background: '#eef1f6', color: '#606266' }">

<el-table-column

fixed

label="序号"

type="index"

width="50"

align="center"

/>

<el-table-column

v-for="(item,index) in tableData"

:key="index"

:label="item.label"

align="center"

:prop="item.prop"

/>

</el-table>

</template>

<script>

export default {

name: 'CommomTable',

props: {

tableData: { // table 表头名称设置(前端指定表头名称要渲染的字段)

type: [Array],

default: () => {

return []

}

},

tableList: { // table 表体数据(一般放后端数据)

type: [Array],

default: () => {

return []

}

}

},

data() {

return {

loading: false

}

}

}

</script>

<style lang="less" scoped>

</style>

测试数据例子:

tableData: [{

label: '客户名称',

prop: 'customerName'

}, {

label: '方量',

prop: 'amount'

}]

tableList:[

{

customerName:'名称1',

amount:'2'

},

{

customerName:'名称2',

amount:'3'

},

]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-table是Element UI库中的一个组件,用于展示和操作表格数据。如果你想要封装el-table,可以按照以下步骤进行操作: 1. 创建一个新的Vue组件,比如TableWrapper。 2. 在TableWrapper组件中引入el-table,并将其作为模板的一部分。 3. 通过props将数据源、列配置等必要的参数传递给TableWrapper组件。 4. 在TableWrapper组件中使用props接收传递的参数,并将其传递给el-table。 5. 可以使用slot在TableWrapper组件中定义自定义的表头、表尾等内容,并将其插入到el-table中。 6. 可以使用events或者methods在TableWrapper组件中处理el-table的事件和方法。 下面是一个简单的示例代码: ```vue <template> <div> <el-table :data="tableData" :columns="tableColumns"> <!-- 自定义表头 --> <el-table-column label="姓名" prop="name"></el-table-column> <el-table-column label="年龄" prop="age"></el-table-column> </el-table> </div> </template> <script> export default { props: { tableData: { type: Array, default: () => [], }, tableColumns: { type: Array, default: () => [], }, }, } </script> ``` 然后你可以在另一个父组件中使用TableWrapper组件,并传递相应的数据和列配置: ```vue <template> <div> <table-wrapper :table-data="data" :table-columns="columns"></table-wrapper> </div> </template> <script> import TableWrapper from './TableWrapper.vue' export default { components: { TableWrapper, }, data() { return { data: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, ], columns: [ { label: '姓名', prop: 'name' }, { label: '年龄', prop: 'age' }, ], } }, } </script> ``` 这样,你就将el-table封装到了TableWrapper组件中,并可以通过传递数据和列配置来渲染表格

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值