0編碼實(shí)現(xiàn)列表頁(yè)行內(nèi)嵌套?jvs低代碼配置實(shí)戰(zhàn)示例
一、子列表【新增】表單默認(rèn)回顯主列表關(guān)聯(lián)字段
子列表新增表單可使用表單回顯配置,在新增表單中默認(rèn)回顯,如圖效果
1、子列表中進(jìn)入新增頁(yè)面配置
2、切換到表單設(shè)置,選擇回顯設(shè)置,進(jìn)入回顯邏輯引擎。
3、在畫(huà)布中拖入【對(duì)象變量】節(jié)點(diǎn),使用對(duì)象節(jié)點(diǎn)在打開(kāi)頁(yè)面時(shí)回顯字段數(shù)據(jù)。參數(shù)名使用表單關(guān)聯(lián)字段字段名,使用公式獲取點(diǎn)擊的主列表的行數(shù)據(jù)id。
二、列表關(guān)聯(lián)列表,子列表底部按鈕配置邏輯引擎
1、在主列表中增加一個(gè)類型為“列表”的行內(nèi)按鈕,點(diǎn)擊設(shè)計(jì)進(jìn)入子列表設(shè)置頁(yè)面。
2、彈出的頁(yè)面中可配置子列表多個(gè)設(shè)置。
選擇列表:可選擇已存在的列表,或點(diǎn)擊后面“ ”號(hào)進(jìn)行新列表頁(yè)創(chuàng)建;也可點(diǎn)擊編輯按鈕對(duì)選擇的子列表頁(yè)進(jìn)行編輯。子列表篩選條件在子列表頁(yè)開(kāi)啟對(duì)應(yīng)字段查詢。
彈框標(biāo)題:可設(shè)置彈出頁(yè)面左上角顯示所點(diǎn)擊行數(shù)據(jù)的哪一個(gè)字段,可調(diào)整彈出頁(yè)面的寬度大小。
數(shù)據(jù)過(guò)濾:設(shè)置主列表與子列表的關(guān)聯(lián)關(guān)系。如果子列表行數(shù)據(jù)中的關(guān)聯(lián)字段為下拉組件,那此處關(guān)聯(lián)關(guān)系為【子列表關(guān)聯(lián)字段】【包含】【主列表-數(shù)據(jù)id】,比如:訂單明細(xì)表訂單-包含-訂單表數(shù)據(jù)id;如果子列表行數(shù)據(jù)中的關(guān)聯(lián)字段為單行文本組件或流水號(hào)組件,那此處關(guān)聯(lián)關(guān)系為【子列表關(guān)聯(lián)字段】【等于】【主列表字段】,比如:學(xué)生表班級(jí)ID-等于-班級(jí)表班級(jí)ID。
查詢條件:默認(rèn)的查詢條件,可設(shè)置不可編輯狀態(tài)
按鈕設(shè)置:可新增設(shè)置子列表頁(yè)底部按鈕,可配置按鈕邏輯引擎事件。設(shè)置底部按鈕后,勾選彈出頁(yè)面行數(shù)據(jù)的多選框再點(diǎn)擊底部按鈕,會(huì)保存多選框的選中狀態(tài)。
3、子列表行數(shù)據(jù)多選并修改處理方式:進(jìn)入按鈕邏輯引擎中,使用循環(huán)容器節(jié)點(diǎn),循環(huán)容器節(jié)點(diǎn)中設(shè)置通過(guò)公式獲取勾選的行數(shù)據(jù)ID。此處獲取到的行數(shù)據(jù)ID是字符串?dāng)?shù)組,需要使用函數(shù)轉(zhuǎn)換為對(duì)象數(shù)組才能使用。
使用集合函數(shù)中的“ARRTOARROBJ”函數(shù),數(shù)組轉(zhuǎn)對(duì)象數(shù)組,比如:將["aaa","bbb","ccc","ddd"]轉(zhuǎn)換為對(duì)象數(shù)組,第二個(gè)參數(shù)為對(duì)象的鍵值。配置保存后,回到列表頁(yè)觸發(fā)一次底部按鈕。
回到邏輯引擎中,點(diǎn)擊觸發(fā)記錄回溯觸發(fā)的數(shù)據(jù)。
點(diǎn)擊循環(huán)容器節(jié)點(diǎn)中的結(jié)構(gòu)定義,然后點(diǎn)擊引用測(cè)試,自動(dòng)解析傳入節(jié)點(diǎn)的數(shù)據(jù)。此處自動(dòng)解析的參數(shù)名“key”為上一步函數(shù)中自己設(shè)置的參數(shù)。
點(diǎn)擊切換到循環(huán)畫(huà)布,在循環(huán)畫(huà)布中拖入要處理的節(jié)點(diǎn),此處使用更新模型節(jié)點(diǎn),循環(huán)根據(jù)對(duì)象數(shù)組更新每一行數(shù)據(jù)。
在線demo:https://frame.bctools.cn/
開(kāi)源地址:https://gitee.com/software-minister/jvs