react ts antd 表單的二次封裝

2021-10-07 19:58:35 字數 3173 閱讀 2194

在系統管理專案中,多次出現表單的提交,現將表單進行簡單的一些二次封裝,將表現層和資料層分離,只需要傳入資料進行。迴圈資料型別生成對應表單。

父元件

//仿造資料

const

getcasetypelist=(

)=>,,

]let obj =

analysislist

(setformlist,formlist,data,obj,

'orderid'

,'ordername')}

})}//list解析函式

const analysislist =

(setformfn:

(val:

)=>

void

,formlistdata:

,data:object[

],obj:any,id:string,name:string)

=>)}

) obj.list = list

let objclone =

json

.parse

(json

.stringify

(formlistdata));

objclone.

push

(obj)

;setformfn

(objclone)

}//表單預設資料

const initstate =

//表單基礎配置 ()

const propsdata =

/>

//表單元件

inte***ce

iprops

class

filterform

extends

react.component

//手機

handlevalidator

(rules: any,val: string,callback: any)

return promise.

reject()

}initformlist=(

)=>

=this

.props;

console.

log(formlist)

const formitemlist:any =

if(formlist && formlist.length>0)

= item

if(item.type==

"input"

) key=

>

name =

rules =,]

}>

'text' style=

} placeholder=

/>

<

/formitem>

<

/col>

formitemlist.

push

(input)}

else

if(item.type==

"select"

) key=

>

name =

rules =,]

}>

style=

} placeholder=

>

<

/select>

<

/formitem>

<

/col>

formitemlist.

push

(select)}

else

if(item.type ==

'checkbox'

) key=

>

name =

rules =,]

}>

<

/checkbox>

<

/formitem>

;<

/col>

formitemlist.

push

(checkbox);

}else

if(item.type ==

'date'

) key=

>

name =

rules =,]

}>

placeholder=

format=

"yyyy-mm-dd hh:mm:ss"

/>

<

/formitem>

;<

/col>

formitemlist.

push

(date);}

})}let rowformitemlist =

}>

<

/row>

return rowformitemlist

}//確定

handleok

=(values: any)

=>

}//取消

handlecancel=(

)=>

}render()

=this

.props

return

<

>

title=

"basic modal"

visible=

footer=

width=

oncancel=

>

classname=

onfinish=

hiderequiredmark=

ref=

initialvalues=

labelcol=}}

>

>

}>

} style=

}>

style=

}>取消<

/qynbutton>

'primary' htmltype=

'submit'

>確認<

/qynbutton>

<

/form.item>

<

/div>

<

/form>

<

/modal>

<

/>}}

export

default filterform

django 表單之獲取表單資訊(二)

urls.py from django.urls import path from import views urlpatterns path views.index,name index path register views.indexforms.as view name register fo...

表單傳值 二

核取方塊表單項的命名方式 核取方塊 通常是將一類內容以同樣 同名 的形式傳遞給後台,資料庫儲存通常是乙個字段儲存。核取方塊的特點 選中才會提交 1 在瀏覽器端 checkbox的name屬性的值不論什麼都會被瀏覽器毫無保留的提交 2 在php中 post get都會對同名name屬性進行覆蓋 解決方...

HTML 之 表單 二

doctype html html lang en head meta charset utf 8 title 表單 title head body form input type text br input type text value 氣死?br input type text value 氣...