|
18 | 18 | * 支持表单验证 |
19 | 19 | * 快速获取表单数据 |
20 | 20 |
|
21 | | -## CDN |
22 | | -``` html |
23 | | -<!-- 引入样式 --> |
24 | | -<link rel="stylesheet" href="https://unpkg.com/form-making/dist/FormMaking.css"> |
25 | | -<!-- 引入组件库 --> |
26 | | -<script src="https://unpkg.com/form-making/dist/FormMaking.umd.js"></script> |
27 | | - |
28 | | -<!-- 需要在设计器中预览代码需要引入ace.js库 --> |
29 | | -<script src="https://unpkg.com/form-making/public/lib/ace/src-min/ace.js"></script> |
30 | | -``` |
31 | | - |
32 | | -## Install |
33 | | - |
34 | | -```shell |
35 | | -npm install form-making -S |
36 | | -``` |
37 | | - |
38 | | -## Quick Start |
39 | | - |
40 | | -``` javascript |
41 | | -import FormMaking from 'form-making' |
42 | | -import 'form-making/dist/FormMaking.css' |
43 | | -Vue.use(FormMaking) |
44 | | - |
45 | | -// or |
46 | | -import { |
47 | | - GenerateForm |
48 | | -} from 'form-making' |
49 | | -import 'form-making/dist/FormMaking.css' |
50 | | - |
51 | | -Vue.component(GenerateForm.name, GenerateForm) |
52 | | -``` |
53 | | - |
54 | | -## Template |
55 | | -``` html |
56 | | -<fm-generate-form></fm-generate-form> |
57 | | -``` |
58 | | - |
59 | | -## 设计器引用 |
60 | | - |
61 | | -``` javascript |
62 | | -import {MakingForm} from 'form-making' |
63 | | -Vue.component(MakingForm.name, MakingForm) |
64 | | -``` |
65 | | - |
66 | | -```html |
67 | | -<!-- 需要设置编辑区域高度 --> |
68 | | -<fm-making-form style="height: 500px;" preview generate-code generate-json> |
69 | | - <template slot="action"> |
70 | | - </template> |
71 | | - </fm-making-form> |
72 | | - |
73 | | -<!-- 需要在设计器中预览代码需要引入ace.js库 --> |
74 | | -<script src="https://unpkg.com/form-making/public/lib/ace/src-min/ace.js"></script> |
75 | | -``` |
76 | | - |
77 | | -##### props |
78 | | -| Prop name | Description | Type | Default value | |
79 | | -| ------------ | ------------ | ------------ | ------------ | |
80 | | -| preview | 预览,头部操作按钮 | Boolean | false | |
81 | | -| generate-json | 生成JSON | Boolean | false | |
82 | | -| generate-code | 生成代码 | Boolean | false | |
83 | | - |
84 | | - |
85 | | -##### methods |
86 | | -| Function name | Description | |
87 | | -| ------------- | ------------------------------ | |
88 | | -| `getJSON` | 获取设计器生成的JSON数据 | |
89 | | -| `getHtml` | 获取生成可使用的html代码 | |
90 | | -| `setJSON(value)` | 根据value值设置表单设计器 | |
91 | | - |
92 | | -##### slots |
93 | | -| Slot name | Description | |
94 | | -| ------------- | ------------------------------ | |
95 | | -| action | 自定义设计器操作按钮,展示在设计头部区域 | |
96 | | - |
97 | | - |
98 | | -## 表单渲染 |
99 | | - |
100 | | -通过 [在线地址](http://tools.xiaoyaoji.cn/form) 或者引用设计器生成的JSON,用于表单渲染 |
101 | | - |
102 | | - |
103 | | -下面就是加载对应的数据用于展示,假设你已经正确加载组件 |
104 | | - |
105 | | -``` html |
106 | | -<fm-generate-form |
107 | | - :data="jsonData" |
108 | | - :remote="remoteFuncs" |
109 | | - :value="values" |
110 | | - ref="generateForm"> |
111 | | -</fm-generate-form> |
112 | | -``` |
113 | | - |
114 | | -``` javascript |
115 | | -new Vue({ |
116 | | - ... |
117 | | - data () { |
118 | | - return { |
119 | | - jsonData: {}, // 表单配置中生成的json数据 |
120 | | - values: {}, // 表单需要显示的表单数据 |
121 | | - remoteFuncs: { |
122 | | - // 组件配置时配置的远端方法,保持和配置时输入的名称一致 |
123 | | - func_test (resolve) { |
124 | | - // 模拟接口请求 |
125 | | - setTimeout(() => { |
126 | | - const options = [ |
127 | | - {id: '1', name: '1111'}, |
128 | | - {id: '2', name: '2222'}, |
129 | | - {id: '3', name: '3333'} |
130 | | - ] |
131 | | - |
132 | | - // 获取到的值和标签可以通过配置页远端配置 |
133 | | - // 值:id 标签:name |
134 | | - |
135 | | - resolve(options) // 将后端获取的数据放入回调函数中 |
136 | | - }, 2000) |
137 | | - }, |
138 | | - func_test2.... |
139 | | - } |
140 | | - } |
141 | | - }, |
142 | | - methods: { |
143 | | - ...{ |
144 | | - // 调用此方法验证表单数据和获取表单数据 |
145 | | - this.$refs.generateForm.getData().then(data => { |
146 | | - // 数据校验成功 |
147 | | - // data 为获取的表单数据 |
148 | | - }).catch(e => { |
149 | | - // 数据校验失败 |
150 | | - }) |
151 | | - } |
152 | | - } |
153 | | -}) |
154 | | -``` |
| 21 | +## 文档 |
| 22 | + |
| 23 | +*[快速使用](https://www.yuque.com/zhulei-sbpfz/ua9nar/mdgwki) |
| 24 | +*[组件](https://www.yuque.com/zhulei-sbpfz/ua9nar/vtebqs) |
155 | 25 |
|
156 | 26 | ## 高级字段使用 |
157 | 27 |
|
|
0 commit comments