基础 CRUD
最简单的 CRUD 页面示例。
代码示例
vue
<script setup lang="ts">
import { ref } from "vue";
import { useState, PageTemplate, Table } from "vue-admin-kit";
import type { PageTemplateExposed } from "vue-admin-kit";
import { listData, addData, updateData, deleteData, getData } from "@/api/data";
const pageTemplateRef = ref<PageTemplateExposed>();
useState({
api: {
list: listData,
add: addData,
edit: updateData,
delete: deleteData,
detail: getData,
},
searchConfig: [
{ type: "input", prop: "name", label: "名称" },
{ type: "select", prop: "status", label: "状态", dictType: "sys_status" },
],
formConfig: [
{ type: "input", prop: "name", label: "名称", required: true },
{ type: "select", prop: "status", label: "状态", dictType: "sys_status" },
],
columnsConfig: [
{ type: "checkbox", width: 50 },
{ type: "seq", title: "序号", width: 60 },
{ field: "name", title: "名称", minWidth: 120 },
{
field: "status",
title: "状态",
dictType: "sys_status",
displayType: "tag",
},
{ field: "createTime", title: "创建时间", width: 160 },
],
tableOptions: {
tableOperationConfig: [
{
title: "新增",
icon: "Plus",
type: "primary",
onClick: () => pageTemplateRef.value?.handleAdd(),
},
],
operateColumns: [
{
title: "编辑",
onClick: (row) => pageTemplateRef.value?.handleEdit(row),
},
{
title: "删除",
type: "danger",
onClick: (row) => pageTemplateRef.value?.handleDelete(row),
},
],
},
});
</script>
<template>
<PageTemplate ref="pageTemplateRef">
<template #table>
<Table />
</template>
</PageTemplate>
</template>说明
- 使用
useState配置页面状态 api配置 CRUD 接口searchConfig配置搜索表单formConfig配置新增/编辑表单columnsConfig配置表格列tableOptions配置工具栏和操作列