日常開(kāi)發(fā)里表單的數(shù)據(jù)結(jié)構(gòu)不單單是簡(jiǎn)單數(shù)據(jù)也有對(duì)象數(shù)組以及相互各種嵌套的關(guān)系
高階組件中只需要像js中訪問(wèn)對(duì)象或者數(shù)組就可以定義出對(duì)應(yīng)的字段結(jié)構(gòu)
有時(shí)候我們的數(shù)據(jù)字段名就是包含了.符號(hào)也可以避免嵌套在外層用【】符號(hào)包裹
FieldArray
在v4.5版中提供了FieldArray組件幫助我們處理嵌套數(shù)組字段一般用于一些可重復(fù)的表單項(xiàng)
這里通過(guò)這個(gè)組件指定了數(shù)據(jù)源字段links在內(nèi)部遍歷出了每一個(gè)item對(duì)應(yīng)的field組件 然后還通過(guò)push remove增刪表單項(xiàng)质涛,非常的簡(jiǎn)單
也可以通過(guò)定義訪問(wèn)路徑去指定對(duì)應(yīng)的字段(如果我們定義的訪問(wèn)路徑是對(duì)象 那就push空對(duì)象如果是數(shù)組就push空數(shù)組)
注意這里的entry.key不是index是自動(dòng)生成的幫助區(qū)分的唯一標(biāo)識(shí)符 與索引無(wú)關(guān)
嵌套的數(shù)據(jù)格式同樣也可以使用schema去校驗(yàn)
還有一些情況比如控制表單的顯示隱藏的時(shí)候我們不希望銷毀字段的值也可以通過(guò)keep-value(field組件)或者keepValus(form組件)控制
至此高階組件部分就結(jié)束了,文章中的示例也都是來(lái)自文檔满俗,更多的用法大家可以去多查閱文檔器腋。