返回
庖丁解牛:Vue3 Element-Plus配置JSON快速生成Table列表组件
前端
2024-01-09 22:50:01
前言
在PC端日常的使用中,使用最多的过于表单和列表了,故此对table列表和form表单进行了统一的封装,通过json配置就可以快速适配table列表和form表单。
准备工作
在开始之前,您需要确保已经安装了以下软件:
- Node.js
- Vue CLI
- Element-Plus
创建Vue项目
首先,创建一个新的Vue项目:
vue create table-json
安装Element-Plus
接下来,安装Element-Plus:
npm install element-plus
创建Table组件
现在,我们可以开始创建Table组件了。在src
目录下创建一个名为Table.vue
的文件,并添加以下代码:
<template>
<el-table :data="data" :columns="columns" :height="height" :border="border" :stripe="stripe" :summary-method="summaryMethod">
<template #empty>
暂无数据
</template>
</el-table>
</template>
<script>
import { ElTable, ElTableColumn } from 'element-plus'
export default {
components: {
ElTable,
ElTableColumn
},
props: {
data: {
type: Array,
required: true
},
columns: {
type: Array,
required: true
},
height: {
type: Number,
default: 400
},
border: {
type: Boolean,
default: true
},
stripe: {
type: Boolean,
default: true
},
summaryMethod: {
type: Function,
default: null
}
}
}
</script>
使用Table组件
现在,您可以在任何Vue组件中使用Table组件了。例如,您可以在App.vue
文件中添加以下代码:
<template>
<Table :data="data" :columns="columns" />
</template>
<script>
import Table from './components/Table.vue'
export default {
components: {
Table
},
data() {
return {
data: [
{
name: 'John Doe',
age: 30,
address: '123 Main Street'
},
{
name: 'Jane Doe',
age: 25,
address: '456 Elm Street'
}
],
columns: [
{
prop: 'name',
label: 'Name'
},
{
prop: 'age',
label: 'Age'
},
{
prop: 'address',
label: 'Address'
}
]
}
}
}
</script>
使用JSON配置生成Table组件
现在,您可以使用JSON配置快速生成Table组件了。例如,您可以在src
目录下创建一个名为table.json
的文件,并添加以下代码:
{
"data": [
{
"name": "John Doe",
"age": 30,
"address": "123 Main Street"
},
{
"name": "Jane Doe",
"age": 25,
"address": "456 Elm Street"
}
],
"columns": [
{
"prop": "name",
"label": "Name"
},
{
"prop": "age",
"label": "Age"
},
{
"prop": "address",
"label": "Address"
}
],
"height": 400,
"border": true,
"stripe": true,
"summaryMethod": null
}
然后,您可以在Vue组件中使用以下代码生成Table组件:
<template>
<Table :config="config" />
</template>
<script>
import Table from './components/Table.vue'
import tableConfig from './table.json'
export default {
components: {
Table
},
data() {
return {
config: tableConfig
}
}
}
</script>
优势
- 代码复用: JSON配置可以方便地被复用,从而节省了大量的时间和精力。
- 统一管理: JSON配置可以统一管理表格组件,从而确保表格组件的一致性和规范性。
- 灵活性: JSON配置非常灵活,可以轻松地调整表格组件的外观和行为,以满足不同的业务需求。
总结
总之,使用JSON配置快速生成Table列表组件是一种高效且实用的方法,可以大大提高前端开发的效率。这种方法不仅可以减少代码量,而且可以提高代码的可维护性和可复用性。