# cruda-element-plus
**Repository Path**: holyhigh2/cruda-element-plus
## Basic Information
- **Project Name**: cruda-element-plus
- **Description**: github同步库
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-07-16
- **Last Updated**: 2024-01-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# cruda-element-plus
Cruda element-plus适配器。
## Demo
- [element-plus](https://stackblitz.com/edit/cruda-element-plus?file=src%2FApp.vue)
## 使用
### 1. 安装
```js
// 安装CRUD
import request from 'axios'
import CRUD from 'cruda-element-plus'
//通常request总是会使用封装后的axios实例
createApp(App).use(CRUD, { request: request })
```
### 2. 激活
```html
```
### 3. 多实例
```html
```
### 4. HOOK
```html
```
### 5. 自定义组件
自定义组件的核心是封装 crud 页面的数据及操作,比如 CrudTable,而前提就是获取$crud实例。通过`lookUpCrud`方法可以拿到页面入口的$crud 实例。下面以一个查询框为例展示自定义组件需要关注的几个方面
```html
$crud.changeOrder(o)">
Edit
Delete
```
### 6. URL 参数
CRUD 激活时,REST 地址支持 URL 参数来动态构建。通过 **`:varName`** 来声明变量,如下例
```js
//user实例的地址使用了orgId参数
export default {
cruds: {
org: '/api/orgs',
user: '/api/orgs/:orgId/users'
},
...
methods:{
//切换org时调用该方法
setOrg(orgId){
this.$cruds.user.setURLParams({orgId})
this.$cruds.user.toQuery()
}
}
}
```
如你所见,动态 URL 最典型的使用场景就是关联业务(_当然,非动态 URL 也可实现相同功能_)。通过`setURLParams`方法可以动态修改请求地址,之后进行 C/R/U/D 操作
## 可导出
```js
import CRUD,{...} from 'cruda-element-plus'
```
- useCrud(restURL) : CRUD
> 创建一个 crud 单实例入口并返回
- useCruds(restURLMap) : Record
> 创建一个 crud 多实例入口并返回
- lookUpCrud(crudName?) : CRUD | null
> 向上查找最近的 crud 实例
- onHook(hookName,hook) : void
> 用于注册钩子
## Cruda
CRUD相关API请前往[Cruda](https://github.com/holyhigh2/cruda)