Axure高保真教程:多層級動態(tài)表格
多層級動態(tài)表格是Axure設計中非常實用的一個設計思路。但因為這個設計會涉及到Axure的中繼器等高端操作,很多小伙伴并不是很熟悉。這篇文章,我們手把手教大家怎么做。
多層級表格又成為樹形表格,是在后臺常用的一種表格形式,當表格數(shù)據(jù)存在多層級關系是,可以通過多層級表格,從而更加清晰的呈現(xiàn)數(shù)據(jù)內(nèi)容,幫助人們更好地理解和分析數(shù)據(jù)之間的關系,從而更加有效地傳遞信息。
所以今天作者就教大家怎么在Axure里制作多層級動態(tài)表格,包括展開、折疊、增加、修改、刪除等效果,具體效果如下所示:
一、效果展示
1、可以點擊箭頭展開或者收起子級內(nèi)容
2、可以動態(tài)修改表格內(nèi)容
3、可以在指定位置動態(tài)增加同級節(jié)點或子級
4、可以刪除多余的內(nèi)容
二、制作教程
1. 材料準備
1.1 表格表頭部分
表頭部分我們用多個矩形組合即可。
1.2 表格內(nèi)容部分
表格內(nèi)容部分我們用中繼器制作,中繼器內(nèi)每格和上面表頭每格的距離一樣。
第一列我們是做樹的結(jié)構(gòu),包括矩形、箭頭(放在動態(tài)面板里的兩個狀態(tài),分別是展開和收起,在里面分別放置向下的箭頭和向右的箭頭)、圖片元件、文本標簽、動態(tài)面板、熱區(qū)(作用是擴大箭頭點擊的范圍。),如下圖所示擺放:
第2到6列我們用和表頭對應寬度的矩形即可。
最后一列操作列,我們增加幾個圖表,如下圖所示擺放:
然后增加一個背景矩形,作用是鼠標移入時變色,和鼠標單擊之后選中變色,所以我們要設置一個鼠標移入的樣式和選中的樣式,具體樣式你們根據(jù)需要設置就可以了。
我們把所有元件組合,勾選允許內(nèi)部元件觸發(fā)交互效果的多選按鈕,勾選之后鼠標移入這個組合,背景矩形的懸停樣式就可以自動觸發(fā),而不會被上方元件擋住。
中繼器表格我們需要以下幾列:
- no列:代碼第幾行按123456……順序填寫即可,后續(xù)用于拆入行的排序
- tree1-tree6列:對應樹節(jié)點的內(nèi)容,可參考下方案例按照樹的層級填寫即可。案例中最高是6級的樹,如果需要增加更多層級,也可以自行添加列和后續(xù)交互。
- b2-b6列:對應表格里第2到6列顯示的內(nèi)容
- jiantou列:控制該節(jié)點是否有箭頭,默認有箭頭,如果沒有箭頭就填無箭頭。
- xianshi列:控制該節(jié)點內(nèi)容是否顯示,默認顯示,如果默認不顯示就填寫隱藏。
- xuanzhuan列:控制該節(jié)點箭頭的方向,默認向下打開,如果默認向右收起就填寫收起。
- bianse列:控制該節(jié)點是否被選中變色,默認未選中,如果需要選中就填寫1。
這樣材料就設置好了。
1.3 添加和修改節(jié)點彈窗
我們要做3個彈窗,包括增加同級節(jié)點,增加子級節(jié)點,修改節(jié)點三個,里面主要是用文本標簽、按鈕、輸入框來制作,如下圖所示擺放:
做好之后我們組合轉(zhuǎn)為動態(tài)面板,默認隱藏,固定在屏幕中部。
1.4 刪除節(jié)點彈窗
刪除節(jié)點彈窗會相對簡單,只需要確定是否刪除即可,我們用矩形、按鈕和文本標簽搭建即可:
2. 設置交互
2.1 設置表格內(nèi)容
第一列我們要寫一個樹元件的交互,具體的可以參考我之前寫的文章《用中繼器制作樹元件》,里面有詳細的講解怎么用中繼器制作樹元件的效果。
中繼器每項加載時,如果是axure10,我們可以直接點擊中繼器表格的鏈接按鈕,將b2到b6列的值設置的中繼器對應的矩形內(nèi)容;如果是axure8或9就要用用設置文本的交互,將b2列到b6列對應的內(nèi)容設置到對應的矩形元件里。
這樣表格的內(nèi)容就出來了。
2.2 添加子級節(jié)點
點擊添加子級按鈕時,例外,我們要新建幾個默認隱藏的文本,用設置文本的交互,記錄tree1到tree6的結(jié)構(gòu)。然后用顯示的交互,將添加同級節(jié)點的彈窗顯示出來。
然后想返回節(jié)點信息,例如ABC總公司-廣東分公司-財務部這種格式,就要根據(jù)所在層級寫條件,用設置文本的交互,設置到對應的元件,這個可做可不做,算是后面的優(yōu)化。
添加子級節(jié)點彈窗里的確認按鈕鼠標單擊時,我們用添加行的交互,將輸入框里的數(shù)據(jù),更新到中繼器表格里。
這里就會涉及排序的問題,我們中繼器表格里第一列no就是用于排序的,所以在中繼器載入時,我們用添加排序的交互,對應no列就行升序排列。
那這樣我們就可以通過更新序號,做到在對應位置拆入行。
案例中添加子節(jié)點是在所有子節(jié)點的最后添加的,所以我們要根據(jù)前面記錄到tree1~6來做一個篩選,看看最后一個子節(jié)點的序號是多少。
所以我們在中繼器每項加載時,用一個隱藏文本記錄對應的序號。
這樣,就可以記錄到顯示的最后一行的序號,但是默認的是整個表格最后一行的序號,所以我們要先對中繼器進行篩選,例如在ABC總公司-廣東分公司-財務部下方添加新崗位,那我們就對ABC總公司-廣東分公司-財務部進行篩選,就可以得到財務部下方,最后一行數(shù)據(jù)的序號。所以對于不同的層級,會有不同的篩選條件,我們以第五級為例,因為案例中最高6級,所以第五級是最后一個可以添加子級的層級。
篩選條件就是這個,LVAR1到5就是我們之前記錄tree列的值,TargetItem.tree1==LVAR1&&TargetItem.tree2==LVAR2&&TargetItem.tree3==LVAR3&&TargetItem.tree4==LVAR4&&TargetItem.tree5==LVAR5.
如果是1級就是TargetItem.tree1==LVAR1,2級就是TargetItem.tree1==LVAR1&&TargetItem.tree2,如此類推。
篩選完成獲得最后一行文本之后,那我們用更新行的交互,將對應比no值大的行的no值都加1,例如最后一行是10,那11以后得行,序號就都加1,就變成12、13、14,空出來了一個11。
我們在用添加行的交互,將no+1,例如10+1等于11添加到no列里,然后前面記錄的tree列的值,以及輸入框的值都添加上去即可。這樣就完成添加了。
但是這里還有一個問題,因為添加的是子級,所以不知道父級箭頭的方向,而且如果父級原來沒有子級,就會沒有箭頭,如果默認是收起,新增的這行就應該默認不顯示。
所以我們用一個簡單的方式將,父級行更新為右箭頭和展示,這樣我們還要將父級行下一級的內(nèi)容設置為默認顯示,這里通過更新行的交互就可以實現(xiàn)了。
完成之后記得要移除篩選。
在彈窗隱藏時,我們要做一個重置還原的操作,就是把輸入框里的內(nèi)容清空,不然下一次進來就會有上一次的內(nèi)容。
這樣我們就完成了增加子級節(jié)點的操作了,當然了,我們在這之前還可以增加對文本框是否必填的條件判斷,例如文本為空時,點擊確認按鈕彈出對應的提示彈窗,這些可以根據(jù)需要添加。
2.3 添加同級節(jié)點
這里和上面的思路基本上是一致的,只是因為增加的是同級,所以不需要考慮父級有沒有箭頭,以及箭頭方向的問題。相當于只需要根據(jù)不同樹的層級,獲取到子級最后的no值,然后將大于no值的行的no值都加一,在用添加行的交互,添加對應的值即可。這個比上面還要簡化。
2.4 修改節(jié)點內(nèi)容
修改節(jié)點和添加同級節(jié)點很相似,但是也有不同。
鼠標點擊修改節(jié)點按鈕的時候,我們除了要記錄tree列數(shù)的值之外,我們還要將表格的值設置到對應的輸入框里,b2到b6直接設置就可以了。
樹節(jié)點的值,我們要根據(jù)所在是第幾級為條件,設置對應tree列的值,例如是在第6級,就將tree6的值設置到第一個輸入框;如果是在第5級,就將tree5的值設置到第一個輸入框……
在修改節(jié)點彈窗確認按鈕鼠標單擊時,我們根據(jù)所在tree的層級進行更新行就可以了,更新對應行的內(nèi)容為對應輸入框里的內(nèi)容。這里有一點要注意的,如果更新了第一列樹節(jié)點的內(nèi)容,按我們還要更新他的子節(jié)點,例如財務部改名為財會部,這樣如果我們值更新財務部這一行的話,那他原本的子級例如財務會計,還是跟在原來的財務部下面,所以他所有的子級也要一同更新。這里我們根據(jù)所在層級,寫不同的更新條件即可。
2.5刪除節(jié)點內(nèi)容
點擊刪除按鈕后,和前面一樣,先用設置文本記錄tree列的值,然后彈出刪除確認的按鈕。
點擊確認按鈕后,根據(jù)所在的層級,用刪除行的按鈕,將他以及對應子級刪除即可。例如他是1級,ABC公司,那刪除條件就是tree1==LVAR1,LVAR1就是記錄tree1的值;如果是2級,例如ABC公司-廣東分公司,那刪除條件就是tree1==LVAR1&&tree2==LVAR2……
刪除之后,我們還要做一個判斷,就是刪除的這個是否是父級節(jié)點的最后一個,例如說財務部下面有財務會計崗位,那如果是唯一的崗位,刪除之后,財務部級沒有子級了,理論上就不應該有箭頭。
所以我們根據(jù)所在層級,對他的父級先進行篩選,例如是刪除的是ABC公司-廣東分公司,我們就對ABC總公司進行篩選,用然后用visiblecount函數(shù)可以獲取到篩選后有幾條數(shù)據(jù),如果只有1條,就代表只有父級這個節(jié)點,沒有其他子級了,我們就用更新行的交互,將他jiantou列的值更新為無箭頭,完成之后移除篩選即可。
這樣我們制作完成了,下次使用時,我們只需要修改中繼器表格里數(shù)據(jù),就可以生成含交互效果的多層級的動態(tài)增刪改的樹形表格了。
那以上就是本期教程的全部內(nèi)容,感興趣的同學們可以動手試試哦,感謝您的閱讀,我們下期見。
本文由 @AI產(chǎn)品人 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發(fā)揮!