Axure設計:雙向列表帶計數選擇

2 評論 14595 瀏覽 74 收藏 10 分鐘

列表框左右雙向選擇效果在互聯網平臺中應用非常多,從左側的待選項中選中選項移入右側,從右側的已選項中取消選項移入左側。作者將通過這篇案列分享,教大家使用Axure制作實現“雙向列表帶計數選擇”。

演示址:http://www.pmgod.cn/demo/%E5%8F%8C%E5%90%91%E5%88%97%E8%A1%A8%E5%B8%A6%E8%AE%A1%E6%95%B0%E9%80%89%E6%8B%A9.html

實現效果

  1. 雙向列表均為單項選擇,不支持多選或全選;
  2. 移入選項、點擊選項時分別有文字顏色或背景色的變化,突出選項;
  3. 如果左側選項沒有選中,點擊向右選擇時,提示“請從待選城市選擇數據項!”;
  4. 如果右側選項沒有選中,點擊向左選擇時,提示“請從已選城市選擇數據項!”;
  5. 每次選擇變動后,可選項和已選項的數據都會相應變化。

原理分析

  1. 提供左右兩個列表框,可以互相選擇相應選項;
  2. 左側為待選項的容器,用來顯示可供選擇的列表項;
  3. 右側為已選項的容器,用來顯示已經選擇的列表項;
  4. 兩個列表框之間的選項通過兩個按鈕來實現數據交互;
  5. 利用Axure的中繼器實現列表框的容器功能。

元件準備

  1. 待選城市文本標簽,用于顯示待選城市的計數。
  2. 待選項背景框(left_bg),放在待選項底部。
  3. 待選項動態面板(left),用來存放可供選擇的列表項:left面板中包含一個動態面板,放置中繼器left;中繼器left中用來存儲可供選擇的列表項。
  4. 選項矩形(left_sl),觸發左側待選項移入右側已選項。
  5. 選項矩形(right_sl),觸發右側已選項移入左側待選項。
  6. 已選城市文本標簽,用于顯示已選城市的計數。
  7. 已選項背景框(right_bg),放在已選項底部。
  8. 已選項動態面板(right),用來存放已經選擇的列表項:right面板中包含一個動態面板,放置中繼器right;中繼器right用來存儲已經選擇的列表項。
  9. 操作提示組合元件,用于沒有選擇選項時的錯誤。
  10. 案例背景,放在底部,可有可無。

隱藏提示文件,重新布局元件后效果如下:

實現步驟

(1)準備左側待選項列表數據

拖入一個中繼器left,給中繼器的默認Column0列添加21條數據,對應顯示廣東省21個地市。

將中繼器的數據通過每項加載時賦值給矩形,矩形顯示的數據就是待選項源數據

將中繼器轉換為動態面板sleft,動態面板的大小為218px*200px,設置動態面板的滾動條屬性為“自動顯示垂直滾動條”。

實用小技巧:將可滾動的動態面板sleft轉換為動態面板left,動態面板的大小為200px*200px,設置動態面板的滾動條屬性為“無”,從而可以實現滾動且隱藏滾動條的效果。

在動態面板left底部放一個帶邊框的矩形背景,大小為202px*202px,在矩形背景的上面部分放待選城市文本標簽,用于顯示待選城市的計數。

最終左側待選項列表元件數據顯示如下:

(2)準備右側已選項列表數據

右側已選項列表數據的實現原理與左側一致,差異部分在于右側已選項數據一開始為空,最終顯示如下:

(3)設置全局變量,臨時存放選中項

設置全局變量“select_listl”,用來臨時存放左側待選項選中的數據;全局變量“select_listr”,用來臨時存放右側已選項選中的數據;全局變量的默認初始值均為空值。

(4)待選項點擊交互事件

待選項矩形框用來顯示待選項數據列表,分別設置鼠標懸停、鼠標放下、選中時的交互效果。

鼠標單擊待選項矩形框時,切換選中狀態。當待選項狀態為選中時,將全局變量”select_listl”的值設置為待選項的值,同時標記該行;當待選項狀態為取消選中時,將全局變量”select_listl”的值設置未空,同時取消標記該行。

(5)設置待選城市文本標簽事件

中繼器left的的數量值等于可選項的數據值,中繼器每項加載時,設置待選城市的文本顯示為“待選城市(可選[[Item.Repeater.dataCount]]項)”。

中繼器賦值方法如下,文本格式為“富文本”。

[[Item.Repeater.dataCount]]表示中繼器的數量值,利用富文本特性改變選項值的文本顏色。

(5)待選項點擊交互事件

已選項點擊交互事件同待選項點擊交互事件一致,此處不再重復。

(6)設置待選城市文本標簽事件

已選城市文本標簽設置與待選城市文本標簽設置一致,此處不再重復。

(7)左側向右選擇點擊事件

點擊“left_sl”按鈕時,需要判斷該點擊事件是否為有效點擊事件。

左側待選項有選中狀態時,全局變量“select_listl”不為空,點擊事件有效,需要將該選項選中添加到右側已選項列表中,同時刪除待選項列表中的記錄,表示選擇該選項值。特別注意:此處需要將待選項及已選項的狀態設置為“未選中”。

當左側待選項沒有選中狀態時,點擊事件無效,提示“請從待選城市選擇數據項!”。

(8)右側向左選擇點擊事件

點擊“right_sl”按鈕時,需要判斷該點擊事件是否為有效點擊事件。

右側已選項有選中狀態時,全局變量“select_listr”不為空,點擊事件有效,需要將該選項選中添加到左側待選項列表中,同時刪除已選項列表中的記錄,表示取消該選項值。

特別注意:此處需要將待選項及已選項的狀態設置為“未選中”。

當右側已選項沒有選中狀態時,點擊事件無效,提示“請從已選城市選擇數據項!”

實用小技巧:利用顯示事件的“燈箱效果”,背景色為黑色,透明度設置為20%,提示效果很漂亮。

 

本文由 @十月大神 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!