天天看點

基于React實作 動态表單 (一)

       這裡實作動态表單功能,是為了應對大量表單送出的業務。跟問卷調查比較像,每次都有各種問題要收集,按道理,每次來不同的問卷都要重新開發一次前後端代碼,雖然這個不是很麻煩,但這種需求業務邏輯并不複雜,是可以做成公共功能的,是以想實作這個動态表單功能,來了新需求,直接在界面設計好,然後分享生成的二維碼或者連結給填報對象,是以這個主要是開發給業務人員用的,不需要會代碼也可以完成要求。

假如我現在有個需求:

        國中畢業十周年了,需要組織一次同學聚會,需要先收集同學們的資料,需要收集的資訊有(姓名、性别、聯系電話、工作地點、工作機關、從事行業、微信号、生活照)

我現在有一個動态表單設計系統:

基于React實作 動态表單 (一)
基于React實作 動态表單 (一)

通過建立表單界面,根據收集資訊的字段,要用什麼元件去展示,直接從左邊開發好的元件中選擇,然後元件名字改成對應收集字段的名字。最右邊設定好表單資訊,用于表單展示及最後作為表名。表單建立好後,可以分享連結給需要填報的同學。

基于React實作 動态表單 (一)

手機端填報界面:

基于React實作 動态表單 (一)

設定了必填的字段前面會有一個紅*,在送出的時候也會根據不同類型元件去校驗:

基于React實作 動态表單 (一)

比如這聯系方式,設計的時候選擇了手機号類型,送出的時候就會按手機号的格式去校驗(基本每個元件都有自己的校驗規則):

基于React實作 動态表單 (一)
基于React實作 動态表單 (一)

填報成功後,可以對所有同學填報的資訊進行管理:

基于React實作 動态表單 (一)
基于React實作 動态表單 (一)

最後可以導出所有同學填報的資料:

基于React實作 動态表單 (一)

是以,這個動态表單功能,隻要是表單送出的業務需求,靈活性是很高的。不管什麼業務,隻要是表單送出,你也不需要會寫代碼,會用這麼個系統就好了。

開發此動态表單的技術點:

前端: React + umi2 + antd + antd-mobile + Dva + ES6

後端: Springboot + Maven + MySQL + Linux + Redis

繼續閱讀