讓前端小姐姐愉快地開發表單

Daniel_dx發表於2019-03-03

前端小姐姐:“新業務功能又有大量的表單要開發了,有沒讓我又高效又愉快地完成這個任務的方案呢?”

哦,我想想,配置開發理念,應該比較適合,且社群也有好些這種理念的開源專案

前端小姐姐:“什麼叫配置開發理念呢?”

就是隻需要簡單地定義一份JSON配置資料來開發表單

前端小姐姐:“太棒了,我去search下先哈”

過了一會~~

前端小姐姐:“是真有不少,但我選哪個好呢?”

恩,那我們就來聊聊配置理念表單開發的選型吧


1. 幫助文件

這是必不可少的啦,沒有文件,誰敢用呢

2. 直觀特性展示

我可不想一開始就要花大量時間去讀冷冰冰的文字,然後還要發揮自己的想像力

最好有超直觀超形象超方便的方式展示大部分甚至全部的特性,可能是這樣的:

image

3. 開箱即用

最好官方自帶一整套常用的表單控制元件和校驗規則,滿足大部分常見場景,就不用去自行擴充套件太多了

比如以下的元件就經常用到了:

image

比如以下的校驗規則就經常用到了:

image

4. 擴充套件能力

官方就是提供再多的元件和校驗規則,也是無法滿足所有的業務場景的,所以必須 友好(簡單方便) 支援開發者自定義自己的表單元件和校驗規則

5. 支援複雜資料結構

一個表單資料結構,除了簡單的只有一級屬性的物件型別外(如 {name: 'daniel', age: 18}),實際很多場景可能是這樣的:

{
  "name": {
    "firstName": "daniel",
    "lastname": "xiao"
  }
}
複製程式碼

可能是這樣的:

{
  "name": "daniel",
  "hobbies": [
    {
      "id": 1,
      "name": "Coding"
    },
    {
      "id": 2,
      "name": "Singing"
    }
  ]
}
複製程式碼

一句話總結就是:支援陣列型別,物件巢狀物件,物件巢狀陣列,陣列的項是普通型別 或 物件型別 或 陣列型別

6. 表單控制元件間互動

我想說,一個表單,不是把表單控制元件按位置靜靜放在那就行了,控制元件之間並不獨立,控制元件之間是有互動的

這裡列舉下具有代表性的一些場景:

  • “同意才能繼續” 型別
    image

image

  • “城市選擇器” 型別

    image

  • “大於18歲必填” 型別

    image

  • “日期比較” 型別

    image

  • “全名自動填寫” 型別

    image

感覺已經挺多了,就不一一列舉了。

所以,前端小姐姐,如果候選開源專案能夠滿足以上所提的條件,那就可以用了

前端小姐姐:“哦,那你有推薦嗎?”

當然。。。


哈哈,接下來就是廣告時間了,如果各位看官們覺得以上的選型條件合情合理,那 ncform 就是一個不錯的選擇了

ncform,一種令人愉悅的表單開發方式,僅需配置即可生成表單UI及其互動行為。

自帶豐富的 標準元件 和 校驗規則,開箱即用。

具備強大的 控制元件互動 和 擴充套件能力,做你所想。

訪問官方Github瞭解更多唄:github.com/ncform/ncfo…


tags: vue, form, json-schema, generator

相關文章