前端小姐姐:“新業務功能又有大量的表單要開發了,有沒讓我又高效又愉快地完成這個任務的方案呢?”
哦,我想想,配置開發理念,應該比較適合,且社群也有好些這種理念的開源專案
前端小姐姐:“什麼叫配置開發理念呢?”
就是隻需要簡單地定義一份JSON配置資料來開發表單
前端小姐姐:“太棒了,我去search下先哈”
過了一會~~
前端小姐姐:“是真有不少,但我選哪個好呢?”
恩,那我們就來聊聊配置理念表單開發的選型吧
1. 幫助文件
這是必不可少的啦,沒有文件,誰敢用呢
2. 直觀特性展示
我可不想一開始就要花大量時間去讀冷冰冰的文字,然後還要發揮自己的想像力
最好有超直觀超形象超方便的方式展示大部分甚至全部的特性,可能是這樣的:
3. 開箱即用
最好官方自帶一整套常用的表單控制元件和校驗規則,滿足大部分常見場景,就不用去自行擴充套件太多了
比如以下的元件就經常用到了:
比如以下的校驗規則就經常用到了:
4. 擴充套件能力
官方就是提供再多的元件和校驗規則,也是無法滿足所有的業務場景的,所以必須 友好(簡單方便) 支援開發者自定義自己的表單元件和校驗規則
5. 支援複雜資料結構
一個表單資料結構,除了簡單的只有一級屬性的物件型別外(如 {name: 'daniel', age: 18}
),實際很多場景可能是這樣的:
{
"name": {
"firstName": "daniel",
"lastname": "xiao"
}
}
複製程式碼
可能是這樣的:
{
"name": "daniel",
"hobbies": [
{
"id": 1,
"name": "Coding"
},
{
"id": 2,
"name": "Singing"
}
]
}
複製程式碼
一句話總結就是:支援陣列型別,物件巢狀物件,物件巢狀陣列,陣列的項是普通型別 或 物件型別 或 陣列型別
6. 表單控制元件間互動
我想說,一個表單,不是把表單控制元件按位置靜靜放在那就行了,控制元件之間並不獨立,控制元件之間是有互動的
這裡列舉下具有代表性的一些場景:
- “同意才能繼續” 型別
-
“城市選擇器” 型別
-
“大於18歲必填” 型別
-
“日期比較” 型別
-
“全名自動填寫” 型別
感覺已經挺多了,就不一一列舉了。
所以,前端小姐姐,如果候選開源專案能夠滿足以上所提的條件,那就可以用了
前端小姐姐:“哦,那你有推薦嗎?”
當然。。。
哈哈,接下來就是廣告時間了,如果各位看官們覺得以上的選型條件合情合理,那 ncform 就是一個不錯的選擇了
ncform,一種令人愉悅的表單開發方式,僅需配置即可生成表單UI及其互動行為。
自帶豐富的 標準元件 和 校驗規則,開箱即用。
具備強大的 控制元件互動 和 擴充套件能力,做你所想。
訪問官方Github瞭解更多唄:github.com/ncform/ncfo…
tags: vue, form, json-schema, generator