# Scheme 方案 Scheme是一个数据驱动的解决方案,通过既定的业务配置参数,生成可模块化编辑的`CURD`业务视图。本组件核心是将一个list解析为Search、Table、Form三个组件的配置项,再将这几个组件组合使用。 ## 基础用法 配置一个数据项列表快速生成一个增删改查业务视图,默认为静态数据维护。 ::: snippet 使用`list`属性设置数据源,列表项中的`type`指定组件类型,其它参数包括**Form**、**Table**、**Search**组件的配置参数格式。可以使用`include`和`exclude`设置需要包括或者排除在哪个组件中,支持**String**和**Array**,不传则表示默认存在所有组件中。 ```html ``` ::: ## 动态列 设置表格列可以动态的控制显示状态 ::: snippet `option`中设置`dynamicColumn: true`即可 ```html ``` ::: ## 弹出框类型 设置编辑表格时弹出框的类型 ::: snippet 设置`dialogComponent`,默认为**el-dialog**,若设置为**el-drawer**,则可在`dialogProps`中可以设置`direction`弹出方向。 ```html ``` ::: ## 自定义内容 与**Form**、**Table**、**Search**组件相同,可以在Scheme中设置具名插槽替换相关组件。 ::: snippet 配置**Form**组件的插槽有:`form-key`表单分组、`form-item-key`表单项、`form-label-key`表单项标题;配置**Table**组件的插槽有:`table-value-key`表格值渲染插槽、`table-key`表格列插槽、`table-append`表格后置列追加、`table-operation`表格操作栏自定义、`table-operation-btn-edit`表格编辑按钮自定义、`table-operation-btn-append`表格操作栏按钮追加;配置**Search**组件的插槽有:`search-key`搜索表单项;配置**Detail**组件的插槽有:`view-key`详情分组、`view-item-key`详情项;其它插槽有:`action-bar`按钮栏自定义、`action-button`按钮追加、`action-btn-new`新增按钮自定义、`render-key`表格和详情表单渲染插槽、`field-key`搜索表单和编辑表单项渲染插槽 ```html ``` ::: ## API快速配置 传入CURD对应API的Promise方法及URL地址,返回指定格式的结果 ::: snippet 配置`option`参数设置组件配置项,其中`$http`为配置好拦截器的支持Promise的http框架、`url`基础url地址。`currPageAlias`分页当前页别名、`pageSizeAlias`分页每页数据量别名、`totalCountAlias`response返回分页条件中总数据量的别名。API交互逻辑处理见[说明](/component/specification) ```html ``` ::: ## 自定义API配置 传入CURD对应API的Promise方法,返回指定格式的结果 ::: snippet 配置`option`参数设置组件配置项,**searchAPI**查询、**detailAPI**查询详情、**getAPI**编辑查询数据、**deleteAPI**删除、**newAPI**新增保存、**editAPI**编辑保存 ```html ``` ::: ## API ## Attribute 属性 参数|说明|类型|可选值|默认值 -|-|-|-|- value / v-model | 绑定值 | Array | - | [] list | 表单项配置列表 | Array | - | [] searchScheme | search域做配置 | Object | - | - formScheme | form域做配置 | Object | - | - tableScheme | table域做配置 | Object | - | - 其它参数 | 同时包含Form、Table、Search、Detail配置项的参数 | - | - | - ## Methods 方法 方法名|说明|参数 -|-|- setModelValue | 设置表单值 | model setDialog | 打开并设置弹出框模式 | { title, type, model } ## Events 事件 事件名称|说明|回调参数 -|-|- change | 表单model发生变化时触发 | model对象 dialog-change | 设置弹出框类型或类型变化时触发 | dialogType selection | 选中表格内容时触发 | selection ## List 表单项配置列表 参数|说明|类型|可选值|默认值 -|-|-|-|- include | 包含在哪些组件中 | String,Array | - | ['search', 'table', 'form'] exclude | 不包含在哪些组件中 | String,Array | - | [] 其它参数 | 同时包含Form、Table、Search、Detail配置项的参数 | - | - | -