diff --git a/examples/router/routes.js b/examples/router/routes.js index bea3b2f..6aef0d3 100644 --- a/examples/router/routes.js +++ b/examples/router/routes.js @@ -136,7 +136,7 @@ const _develops = [ { path: 'introduce', name: 'developSchemaIntroduce', - meta: { title: '介绍' }, + meta: { title: 'Schema 介绍' }, component: () => import('@/views/docs/develop/schema/introduce.md'), }, { diff --git a/examples/views/docs/component/schema-filter.md b/examples/views/docs/component/schema-filter.md index 74005d3..6820450 100644 --- a/examples/views/docs/component/schema-filter.md +++ b/examples/views/docs/component/schema-filter.md @@ -1,158 +1,199 @@ # Schema Filter 筛选 -根据JSON Schema配置自动生成一个筛选条件表单 +通过配置JSON Schema的方式快速生成一个筛选表单 ## 基础用法 -配置`list`属性设置JSON Schema配置列表 +`schema`设置配置项,基本参数与`z-schema-form`相同;不同的是,由于本组件包含了展开状态,配置项的显示隐藏需要统一控制,因此本组件中不包含配置项的显隐逻辑。 -::: snippet 通过`list`配置项目 +::: snippet `schema`设置配置项,`loading`设置加载状态 ```html ``` ::: -## 自定义按钮 - -支持自定义按钮占位及按钮组件 - -::: snippet 配置`uncollapsedSpan`改变展开时操作区占位,默认值`24`;插槽`operation`自定义按钮内容; +::: snippet 默认显示数量为`3`,超过则会显示展开按钮 ```html ``` ::: -## 自定义数据项 +## 默认展示数量 -支持自定义数据项,一般用于通过JSON Schema较难配置出的,较复杂的局部组件 +常见的业务场景下,经常会出现多个筛选条件的情况,可以默认展示多行的搜索项。 -::: snippet 插槽名与数据项`key`相同 +::: snippet `display`设置默认展示的搜索项数量,控制按钮栏占位会根据每行剩余搜索项数量自动计算。 ```html ``` ::: -## 展示数量 +## 自定义操作栏 -默认展示数量为`3`个,可以通过配置而改变 +特殊业务场景下,可以自定义操作栏 -::: snippet 设置`visibleNum`改变默认展示数量的大小,`span`改变每一项的占位数量 +::: snippet `operation`插槽替换默认操作栏 ```html ``` @@ -165,20 +206,18 @@ export default { 参数|说明|类型|可选值|默认值 -|-|-|-|- value | 值 | Object | - | {} -list | JSON Schema配置项列表 | Array | - | [] -labelWidth | 默认Label宽度 | String | 110px -size | 大小 | String | - | small -span | 占位 | Number | - | 24 -uncollapsedSpan | 展开时操作区占位 | Number | - | 24 -visibleNum | 折叠时可视项数量 | Number | - | 3 -loading | 加载状态 | Boolean | - | - -formProps | 默认el-form配置参数 | Object | - | {} -params | 自定义附加参数 | Object | - | - +schema | JSON Schema配置项列表 | Object | - | {} +size | 大小 | String | - | - +loading | 加载状态 | Boolean | - | false +display | 默认收起时显示数量 | Number | - | 3 +span | 子项占位 | Number | - | 6 +collapsedSpan | 展开时操作栏占位,默认自动计算,特殊情况下可手动设置 | Boolean | - | - +uncollapsedSpan | 收起时操作栏占位,默认自动计算,特殊情况下可手动设置 | Boolean | - | - ## Events 事件 事件名称|说明|回调参数 -|-|- input | 表单值变化 | model -search | 查询 | model -reset | 重置表单 | - \ No newline at end of file +search | 搜索 | model +reset | 重置 | - \ No newline at end of file diff --git a/examples/views/docs/component/schema-form.md b/examples/views/docs/component/schema-form.md index 8adb68f..e3bf80c 100644 --- a/examples/views/docs/component/schema-form.md +++ b/examples/views/docs/component/schema-form.md @@ -590,4 +590,19 @@ export default { ``` -::: \ No newline at end of file +::: + +## API + +## Attribute 属性 + +参数|说明|类型|可选值|默认值 +-|-|-|-|- +value | 值 | Object | - | {} +schema | JSON Schema配置项列表 | Object | - | {} + +## Events 事件 + +事件名称|说明|回调参数 +-|-|- +input | 表单值变化 | model \ No newline at end of file diff --git a/packages/form/index.vue b/packages/form/index.vue index 5993003..1350f23 100644 --- a/packages/form/index.vue +++ b/packages/form/index.vue @@ -8,8 +8,11 @@ diff --git a/packages/mixins/form.js b/packages/mixins/form.js new file mode 100644 index 0000000..9b280d0 --- /dev/null +++ b/packages/mixins/form.js @@ -0,0 +1,27 @@ +export default { + methods: { + validate(callback) { + if (this.$refs.form) { + return this.$refs.form.validate(callback); + } + return false; + }, + validateField(props, callback) { + if (this.$refs.form) { + return this.$refs.form.validateField(props, callback); + } + return false; + }, + resetFields() { + if (this.$refs.form) { + this.$refs.form.resetFields(); + } + }, + clearValidate(props) { + if (this.$refs.form) { + return this.$refs.form.clearValidate(props); + } + return false; + }, + }, +}; diff --git a/packages/schema-filter/index.vue b/packages/schema-filter/index.vue index fea9688..26c579f 100644 --- a/packages/schema-filter/index.vue +++ b/packages/schema-filter/index.vue @@ -1,74 +1,49 @@ - - diff --git a/packages/schema-form/index copy.vue b/packages/schema-form/index copy.vue deleted file mode 100644 index bb9fc6f..0000000 --- a/packages/schema-form/index copy.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/packages/schema-form/index.vue b/packages/schema-form/index.vue index 16e2f7e..7bcd483 100644 --- a/packages/schema-form/index.vue +++ b/packages/schema-form/index.vue @@ -1,8 +1,8 @@