Axure的多狀態(tài)復選樹(無限分級)

0 評論 520 瀏覽 2 收藏 6 分鐘

本文將詳細介紹如何在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ù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!