Skip to content

Commit 51600f2

Browse files
authored
Merge pull request #297 from lljj-x/feat/some-feature
Feat/some feature
2 parents f466120 + 63860a0 commit 51600f2

File tree

9 files changed

+30
-12
lines changed

9 files changed

+30
-12
lines changed

packages/docs/docs/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ actionLink: /zh/guide/
1717
``` bash
1818
# 安装
1919
# vue2+elementUi 版本
20-
npm install --save @lljj/vue-json-schema-form
20+
npm install --save @lljj/vue-json-schema-form element-ui
2121

2222
# 或者:
2323
yarn add @lljj/vue-json-schema-form
@@ -36,6 +36,11 @@ yarn add @lljj/vue-json-schema-form
3636
<script >
3737
// 使用
3838
import VueForm from '@lljj/vue-json-schema-form';
39+
import Vue from 'vue';
40+
import ElementUI from 'element-ui';
41+
42+
// 需要配置element全局组件,也可以按需use component
43+
Vue.use(ElementUI);
3944
4045
export default {
4146
name: 'Demo',

packages/docs/docs/zh/guide/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,39 @@
1919

2020
### @lljj/vue-json-schema-form
2121
* 适配ui库:`Vue2` `ElementUi`
22+
* 注意需要全局注册Element相关组件,也可根据控制台提示按需use
2223
* package name: `@lljj/vue-json-schema-form`
2324
* umd cdn地址:[@lljj/vue-json-schema-form cdn](https://npm.elemecdn.com/@lljj/vue-json-schema-form/dist/vueJsonSchemaForm.umd.min.js)
2425
* umd script 标签形式引入暴露全局变量 `window.vueJsonSchemaForm``window.vueJsonSchemaForm.default` 暴露组件,同时会注册 `VueForm` 全局组件
2526
* [playground](https://form.lljj.me/#/demo?type=Simple)
2627

2728
### @lljj/vue2-form-iview3
2829
* 适配ui库:`Vue2` `iview3`
30+
* 注意需要全局注册 iview3 相关组件,也可根据控制台提示按需use
2931
* package name: `@lljj/vue2-form-iview3`
3032
* umd cdn地址:[@lljj/vue2-form-iview3 cdn](https://npm.elemecdn.com/@lljj/vue2-form-iview3/dist/vue2-form-iview3.umd.min.js)
3133
* umd script 标签形式引入暴露全局变量 `window.vue2FormIview3``window.vue2FormIview3.default` 暴露组件,同时会注册 `vue2FormIview3` 全局组件
3234
* [playground](https://form.lljj.me/#/demo?type=Simple&ui=VueIview3Form)
3335

3436
### @lljj/vue3-form-element
3537
* 适配ui库:`Vue3` `ElementPlus`
38+
* 注意需要全局注册 ElementPlus 相关组件,也可根据控制台提示按需use
3639
* package name : `@lljj/vue3-form-element`
3740
* umd cdn地址:[@lljj/vue3-form-element cdn](https://npm.elemecdn.com/@lljj/vue3-form-element/dist/vue3-form-element.umd.min.js)
3841
* umd script 标签形式引入暴露全局变量 `window.vue3FormElement``window.vue3FormElement.default` 暴露组件
3942
* [playground](https://form.lljj.me/v3/#/demo?type=Simple)
4043

4144
### @lljj/vue3-form-naive
42-
* 适配ui库:`Vue3` `antdv`
45+
* 适配ui库:`Vue3` `naive`
46+
* 注意需要全局注册 vue3 naive 相关组件,也可根据控制台提示按需use
4347
* package name : `@lljj/vue3-form-naive`
4448
* umd cdn地址:[@lljj/vue3-form-naive cdn](https://npm.elemecdn.com/@lljj/vue3-form-naive/dist/vue3-form-naive.umd.min.js)
4549
* umd script 标签形式引入暴露全局变量 `window.vue3FormNaive``window.vue3FormNaive.default` 暴露组件
4650
* [playground](https://form.lljj.me/v3/#/demo?type=Simple&ui=VueNaiveForm)
4751

4852
### @lljj/vue3-form-ant
4953
* 适配ui库:`Vue3` `antdv`
54+
* 注意需要全局注册 vue3 antdv 相关组件,也可根据控制台提示按需use
5055
* package name : `@lljj/vue3-form-ant`
5156
* umd cdn地址:[@lljj/vue3-form-ant cdn](https://npm.elemecdn.com/@lljj/vue3-form-ant/dist/vue3-form-ant.umd.min.js)
5257
* umd script 标签形式引入暴露全局变量 `window.vue3FormAnt``window.vue3FormAnt.default` 暴露组件

packages/docs/docs/zh/guide/basic-config.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -789,9 +789,7 @@ schema = {
789789
* 类型:`object`
790790
`form-props` 支持如下两部分参数:
791791

792-
* 固定参数部分
793-
794-
和当前使用的ui库无关
792+
1. 固定参数部分 (这部分参数和当前使用的ui库无关)
795793
```js
796794
// 默认值
797795
formProps = {
@@ -802,11 +800,12 @@ formProps = {
802800
labelPosition: 'top', // 表单域标签的位置
803801
isMiniDes: false, // 是否优先mini形式显示描述信息(label文字和描述信息同行显示)
804802
defaultSelectFirstOption: true, // 单选框必填,是否默认选中第一个
803+
popover: {}, // 透传给ui 组件库的popver组件,比如element ui Popover,antd a-popover
805804
}
806805
```
807806

808-
* 当前ui库form组件的参数
809-
如上固定参数以外的参数,都会传给当前ui库的form组件,比如elementUi el-form、IView i-form ...
807+
2. 当前ui库form组件的参数
808+
如上固定参数以外的参数,都会透传给当前ui库的form组件,比如elementUi el-form、IView i-form ...
810809
```js
811810
formProps = {
812811
layoutColumn: 2, // 1 2 3 ,支持 1 2 3 列布局,如果使用inline表单这里配置无效

packages/docs/docs/zh/guide/faq.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# 常见问题
22

3+
## Vue2、Vue3 提示相关的ui组件找不到
4+
* https://github.com/lljj-x/vue-json-schema-form/issues/169
5+
* https://github.com/lljj-x/vue-json-schema-form/issues/268
6+
7+
vue2 注册全局组件,或者vue3注册当前app实例公共组件
8+
39
## select筛选框的值可以动态配置吗
410

511
* 基于 JsonSchema 的方案,配置 `enum``enumNames` 动态更新即可, schema原本也为响应式数据

packages/lib/utils/formUtils.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ export function getUiField(FIELDS_MAP, {
9999
}
100100

101101
// 不支持的类型
102-
throw new Error(`不支持的field类型 ${schema.type}`);
102+
console.error('当前schema:', schema);
103+
throw new Error(`不支持的field类型, type: ${schema.type}`);
103104
}
104105

105106
// 解析用户配置的 uiSchema options

packages/lib/vue2/vue2-core/src/components/Widget.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,8 @@ export default {
202202
},
203203
props: {
204204
placement: 'top',
205-
trigger: 'hover'
205+
trigger: 'hover',
206+
...self.formProps?.popover
206207
}
207208
}, [
208209
descriptionVNode,

packages/lib/vue2/vue2-core/src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export default function createForm(globalOptions = {}) {
142142

143143
const {
144144
// eslint-disable-next-line no-unused-vars
145-
layoutColumn = 1, inlineFooter, labelSuffix, isMiniDes, defaultSelectFirstOption, ...uiFormProps
145+
layoutColumn = 1, inlineFooter, labelSuffix, isMiniDes, defaultSelectFirstOption, popover, ...uiFormProps
146146
} = self.$props.formProps;
147147

148148
const { inline = false, labelPosition = 'top' } = uiFormProps;

packages/lib/vue3/vue3-core/src/components/Widget.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,8 @@ export default {
198198
cursor: 'pointer'
199199
},
200200
placement: 'top',
201-
trigger: 'hover'
201+
trigger: 'hover',
202+
...props.formProps?.popover
202203
}, {
203204
default: () => descriptionVNode,
204205
reference: () => h(IconQuestion)

packages/lib/vue3/vue3-core/src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ export default function createForm(globalOptions = {}) {
142142
return () => {
143143
const {
144144
// eslint-disable-next-line no-unused-vars
145-
layoutColumn = 1, inlineFooter, labelSuffix, isMiniDes, defaultSelectFirstOption, ...uiFormProps
145+
layoutColumn = 1, inlineFooter, labelSuffix, isMiniDes, defaultSelectFirstOption, popover, ...uiFormProps
146146
} = props.formProps;
147147

148148
const { inline = false, labelPosition = 'top' } = uiFormProps;

0 commit comments

Comments
 (0)