Axure的多狀態(tài)復選樹(無限分級)
本文將詳細介紹如何在Axure中實現(xiàn)一種增強型的多狀態(tài)復選樹組件,它不僅支持全選、半選和未選等狀態(tài),還具備動態(tài)加載、關(guān)鍵字篩選等高級功能。
多狀態(tài)復選樹(Multi-State Checkbox Tree)是一種增強型樹形選擇組件,在傳統(tǒng)復選樹的基礎(chǔ)上擴展了節(jié)點的交互狀態(tài),通常包括全選、半選、未選三種狀態(tài),并可能支持更多自定義狀態(tài)(如禁用、部分禁用等)。半選狀態(tài)表示該節(jié)點的子節(jié)點僅被部分選中,能夠清晰反映層級選擇的中間態(tài)。該組件適用于需要精細控制層級選擇的場景(如權(quán)限管理、分類配置),通過狀態(tài)可視化提升操作的準確性和用戶體驗,同時支持動態(tài)加載、異步更新等高級功能。
演示地址:
https://dtcagw.axshare.com/#id=je1z0x&g=1
設(shè)計原則
1)清晰的層級結(jié)構(gòu)
- 使用縮進、連接線或圖標直觀展示父子關(guān)系。
- 提供展開/折疊功能
2)合理的復選框狀態(tài)
- 選中狀態(tài)(Checked):節(jié)點及其所有子節(jié)點均被選中。
- 半選中狀態(tài)(Intermediate):部分子節(jié)點被選中(難點?。。。盒柩h(huán)計算父節(jié)點子節(jié)點狀態(tài))。
- 未選中狀態(tài)(Unchecked):節(jié)點及其子節(jié)點均未被選中。
3)關(guān)鍵字篩選
可以通過關(guān)鍵字搜索,高亮對應(yīng)行并展開。
先決知識:
首先,你已經(jīng)學會《Axure無限級導航菜單(基礎(chǔ)樹TREE組件)》里面的導航組件的制作,另外,最好還能掌握《如何在Axure中使用“循環(huán)”》和《Axure監(jiān)聽器之中繼器監(jiān)聽器》兩個基本技巧。
教程:
還是先看一下元件結(jié)構(gòu):
元件說明
- (動態(tài)面板) check:選中狀態(tài)(i-部分選中,c-選中,u-未選中)
- (文本框) path:用來做循環(huán)用的
- (文本框) search:關(guān)鍵字檢索功能
- (形狀) x:清除關(guān)鍵字(文本框) search
- (矩形) [[Item.text]]:既是節(jié)點文字,又是監(jiān)聽器
中繼器數(shù)據(jù)(第一行為列名):
字段說明:
- id:唯一標識符
- text:顯示文本
- path:路徑層級信息(斜杠分隔)
- level:層級
- order:排序序號
- expand:是否展開(t-是,f-否)
- check:選中狀態(tài)(i-部分選中,c-選中,u-未選中)
- leaf:是否為葉子節(jié)點(t-是,f-否)
- hide:是否隱藏(t-是,f-否)
中繼器交互如下:
動態(tài)面板check的交互如下
(文本框) path的交互如下:
這樣,一個多狀態(tài)的復選樹就完成了,接下來我們加上關(guān)鍵字檢索功能。
(形狀) x的交互如下:
(文本框) search的交互如下:
(矩形) [[Item.text]]監(jiān)聽器交互如下:
這樣,關(guān)鍵字檢索功能也做好了。
優(yōu)化
從以上交互可以看出,每次更改check節(jié)點,都會對中繼器進行多次交互,層級越低,循環(huán)次數(shù)越多,非常影響效率,所以可以直接用(文本域) tree做為狀態(tài)的存貯,然后在中繼器內(nèi)部新建一個監(jiān)聽去動態(tài)調(diào)整,不再反復更新中繼器,操作就流暢許多??梢宰约涸囍鲆幌?。
本文由 @Jorkin 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!