# AiCrudPage CRUD 页面组件
完整的 CRUD 页面解决方案,集成搜索、表格、新增、编辑、删除、导入导出功能。
## 基础用法
```vue
```
## Props
| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| api | String | - | 基础 API 地址 |
| apiConfig | Object | {} | API 配置 |
| columns | Array | [] | 表格列配置 |
| searchSchema | Array | [] | 搜索表单配置 |
| editSchema | Array | [] | 编辑表单配置 |
| rowKey | String | 'id' | 主键字段 |
| showSearch | Boolean | true | 显示搜索 |
| showPagination | Boolean | true | 显示分页 |
| hideAdd | Boolean | false | 隐藏新增按钮 |
| hideToolbar | Boolean | false | 隐藏工具栏 |
| modalType | String | 'modal' | 弹窗类型:modal/drawer |
| modalWidth | String | '600px' | 弹窗宽度 |
| showImport | Boolean | false | 显示导入按钮 |
| showExport | Boolean | false | 显示导出按钮 |
## API 配置格式
```js
const apiConfig = {
list: 'get@/api/user/list', // get/post 请求列表
add: 'post@/api/user', // 新增
create: 'post@/api/user/create', // 新增(备选)
update: 'put@/api/user', // 更新
delete: 'delete@/api/user', // 删除
detail: 'get@/api/user/detail' // 详情
}
```
## 钩子函数
```vue
```
| 钩子 | 参数 | 说明 |
|------|------|------|
| beforeSearch | params | 搜索前处理参数 |
| beforeSubmit | data | 提交前处理数据 |
| beforeRenderList | list | 渲染列表前处理数据 |
| beforeRenderForm | row | 渲染表单前处理数据 |
| beforeDelete | rows | 删除前确认 |
## 事件
| 事件 | 参数 | 说明 |
|------|------|------|
| load-list-success | { list, total } | 列表加载成功 |
| submit-success | { data, response } | 提交成功 |
| selection-change | { keys, rows } | 选中变化 |
| modal-open | { status, row } | 弹窗打开 |
| modal-close | - | 弹窗关闭 |
## 插槽
```vue
自定义按钮
```