基於Vue,ElementUI開發的一款表單設計器,提升表單開發效率的利器,讓開發者從枯燥的表單代碼編寫中解放出來javascript
工具地址:http://tools.xiaoyaoji.cn/formcss
GitHub地址:https://github.com/GavinZhuLei/vue-form-makinghtml
<!-- 引入樣式 --> <link rel="stylesheet" href="https://unpkg.com/form-making/dist/FormMaking.css"> <!-- 引入組件庫 --> <script src="https://unpkg.com/form-making/dist/FormMaking.umd.js"></script>
npm install form-making -S
import FormMaking from 'form-making' import 'form-making/dist/FormMaking.css' Vue.use(FormMaking) // or import { GenerateForm } from 'form-making' import 'form-making/dist/FormMaking.css' Vue.component(GenerateForm.name, GenerateForm)
<fm-generate-form></fm-generate-form>
經過 在線地址生成的JSON,用於表單渲染
vue
下面就是加載對應的數據用於展現,假設你已經正確加載組件java
<fm-generate-form :data="jsonData" :remote="remoteFuncs" :value="values" ref="generateForm"> </fm-generate-form>
new Vue({ ... data () { return { jsonData: {}, // 表單配置中生成的json數據 values: {}, // 表單須要顯示的表單數據 remoteFuncs: { // 組件配置時配置的遠端方法,保持和配置時輸入的名稱一致 func_test (resolve) { // 模擬接口請求 setTimeout(() => { const options = [ {id: '1', name: '1111'}, {id: '2', name: '2222'}, {id: '3', name: '3333'} ] // 獲取到的值和標籤能夠經過配置頁遠端配置 // 值:id 標籤:name resolve(options) // 將後端獲取的數據放入回調函數中 }, 2000) }, func_test2.... } } }, methods: { ...{ // 調用此方法驗證表單數據和獲取表單數據 this.$refs.generateForm.getData().then(data => { // 數據校驗成功 // data 爲獲取的表單數據 }).catch(e => { // 數據校驗失敗 }) } } })