el-table封装 vue2基于elementui进行的二次封装
在Vue 2基于Element UI进行二次封装el-table
组件的方法如下:
- 创建一个新的
.vue
文件,例如MyTable.vue
。 - 在
MyTable.vue
中,使用el-table
和相关的Element UI组件。 - 根据需要添加props来接收外部传递的数据和配置。
- 使用slots来支持自定义列模板。
- 封装方法以支持外部调用。
下面是一个简单的MyTable.vue
示例:
<template>
<el-table :data="tableData" style="width: 100%">
<slot></slot>
</el-table>
</template>
<script>
export default {
props: {
tableData: {
type: Array,
default: () => []
}
}
}
</script>
使用该组件时,可以这样做:
<template>
<my-table :table-data="data">
<el-table-column prop="date" label="日期" width="180"></el-table-column>
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</my-table>
</template>
<script>
import MyTable from './MyTable.vue';
export default {
components: {
MyTable
},
data() {
return {
data: [
{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' },
// ...更多数据
]
}
}
}
</script>
在这个例子中,我们创建了一个MyTable.vue
组件,它接受一个tableData
属性,并使用了一个作用域插槽来允许父组件定义表格列。在父组件中,我们使用my-table
标签,并传递tableData
以及定义了三个el-table-column
作为子组件的内容。这样,我们就实现了一个基于Element UI的el-table
组件的二次封装。
评论已关闭