W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一種高級的容器組件,可以在其內(nèi)部添加文本、數(shù)值、日期等組件,比如在商品錄入時,需要添加多條商品信息等場景可使用。
子表單多用于錄入數(shù)據(jù)的時候,比如出庫單、入庫單、銷售單,其中的商品明細(xì)就可以用子表單記錄,可以根據(jù)實際需要錄入的數(shù)據(jù)新增條數(shù)。
升級項 | 升級前 | 升級后 |
【設(shè)置面板】 | 設(shè)置項混放,無分類,設(shè)置項查找困難 | 設(shè)置項按子表配置思路分類擺放,查找便利; 根據(jù)用戶高頻反饋,局部增加配置功能 |
子表單操作按鈕排序【編輯態(tài)】 | 優(yōu)先展示新增的操作項,無復(fù)制按鈕 | 「復(fù)制」、「刪除」按鈕啟用后,作為常駐按鈕放在最前,之后再是用戶自定義的操作按鈕,最后為「上/下移」按鈕(啟用后展示); 編輯態(tài)下,默認(rèn)展示全部按鈕 注意:復(fù)制按鈕暫未全量。 |
子表單操作按鈕排序【提交態(tài)】 | 不支持復(fù)制操作,排序按鈕會默認(rèn)顯示 | 初始狀態(tài)(僅一條數(shù)據(jù)):不可操作刪除 |
【平鋪模式】增加子表單折疊/展開功能 | 會將多條明細(xì)全部展示出來,若超過20條會分頁展示 | (平鋪方式下點擊下圖紅色框符號均可出發(fā)展開/折疊操作) |
列凍結(jié)(表格方式) 目前僅支持PC端凍結(jié)前幾列 | 不支持凍結(jié)列 | 支持自定義凍結(jié)幾列,最多凍結(jié)5列; 序號也記為1列; 默認(rèn)設(shè)置無 |
自定義序號名稱(平鋪模式) | 無序號名稱設(shè)置項 | 序號名稱可以自定義設(shè)置 |
設(shè)置子表單的排列方式,默認(rèn)以表格方式展示。
表格
展示效果:
注:主題、顯示表頭,僅支持在 PC 端排列方式為表格方式時才展示
平鋪
效果如圖:
新增數(shù)據(jù)的按鈕名稱默認(rèn)為新增一項,可以自定義名稱,效果如圖:
設(shè)置新增按鈕名稱
設(shè)置刪除按鈕名稱
可以自定義新增的數(shù)據(jù)條數(shù),但體驗版宜搭的上限目前是 50 條
注:所有宜搭付費版的應(yīng)用(標(biāo)準(zhǔn)版、尊享版、釘釘專業(yè)版等),以前是200條,目前上限均提升至500條
子表單最大條數(shù)
支持自定義,再長內(nèi)容也不怕顯示不全
自定義子表單列寬
路徑:訪問表單即可看見在子表單下會有個批量導(dǎo)入的按鈕,點擊批量導(dǎo)入即可。(如表單開啟了公開訪問(免登),則表單內(nèi)的子表單不支持批量導(dǎo)入操作)
子表單的批量導(dǎo)入模板字段順序與表單設(shè)計字段順序一致
訪問頁面
批量導(dǎo)入頁面
導(dǎo)入成功之后,如圖:
批量導(dǎo)出
批量導(dǎo)出中
批量導(dǎo)出成功
表單頁面
數(shù)據(jù)詳情頁面
Excel 表格頁面
新建操作列之后,可以點擊編輯去操作綁定動作
操作列
效果如圖:
參考 動作設(shè)置
操作--項目-0
回調(diào)函數(shù)
JS 面板
支持 jsx
定制渲染-綁定動作
效果如圖:
您好,需要配置一個刪除動作,如下圖所示:
注:這樣操作默認(rèn)是全刪除,勾選批量刪除目前還不支持
獲取子表單內(nèi)的數(shù)據(jù)用于表單校驗或作為數(shù)據(jù)源調(diào)用的入?yún)⒌葓鼍?/p>
參考代碼:
const subFormInst = this.$('子表單唯一標(biāo)識'); // 先獲取 行 標(biāo)識 const items = subFormInst.getItems(); // ["tfitem_1", "tfitem_2"] items.forEach(item => { const fieldInst = subFormInst.getComponent(item, '子表單內(nèi)部控件的唯一標(biāo)識'); console.log(fieldInst.getValue()); });
常用于跨應(yīng)用關(guān)聯(lián)子表數(shù)據(jù)以及表單加載時,初始化子表單數(shù)據(jù)的業(yè)務(wù)場景。
參考文檔:明細(xì)關(guān)聯(lián)明細(xì)
由于子表單數(shù)據(jù)無法在數(shù)據(jù)管理頁內(nèi)展示分析且無法導(dǎo)出,所以需要將子表單數(shù)據(jù)于報表頁面表格內(nèi)進(jìn)行展示和導(dǎo)出。
參考文檔:子表單數(shù)據(jù)進(jìn)行報表分析
可以在定制渲染里寫上以下代碼來實現(xiàn)。
export function onActionRender({ index, groupId, itemValue, actionKey }) { return <div id="anniu" onClick={()=>{ document.getElementById('anniu').style.display = 'none' }}>操作按鈕名稱</div>; }
這個是一個隱藏功能,去表單的編輯頁面開啟子表單的顯示排序就會出現(xiàn)上移下移按鈕,如圖所示:
配置子表單內(nèi)組件的自定義校驗函數(shù),遍歷子表單中的所有數(shù)據(jù),跟當(dāng)前的數(shù)據(jù)來進(jìn)行比對
(1)使用一個子表單組件,一個數(shù)值組件,然后將數(shù)值組件的默認(rèn)值設(shè)置為 1,如圖:
(2)點擊子表單>>高級>>新建動作,需要創(chuàng)建兩個動作,一個是 onAddClick 點擊添加;一個是 onDelClick 點擊刪除,創(chuàng)建動作寫入代碼,如圖:
以下代碼可直接復(fù)制使用,注意:第一個括號里面輸入數(shù)值組件的唯一標(biāo)識,第二個括號里面輸入子表單的唯一標(biāo)識??蓞⒖迹?)的設(shè)置
this.$('數(shù)值組件標(biāo)識').setValue(this.$('子表單標(biāo)識').getValue().length);
(3)先創(chuàng)建一個 onAddClick 點擊添加,如圖:
然后將上面的代碼復(fù)制過來,如下:
(4)新建一個 onDelClick 點擊刪除,也直接復(fù)制上面的代碼即可:
然后將上一段的代碼復(fù)制下來:
點擊保存后,效果展示如下:
刪除新增一項的數(shù)據(jù),也會自動減少:
(1)拉取一個數(shù)值組件,在數(shù)值組件綁定動作「onChange值發(fā)生變化」
(2)在js頁面復(fù)制以下代碼
export function onChange({ value }) { console.log('onChange', value); let a = []; for(let i=0;i<value;i++){ let b= { "textField_kurr4i2o" : "", //子表單內(nèi)其他組件唯一標(biāo)識 } a.push(b) } this.$("tableField_kurr4i2m").setValue(a) //子表單組件唯一標(biāo)識 }
(3)實現(xiàn)效果
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: