省市縣三級(jí)聯(lián)動(dòng)選擇功能在互聯(lián)網(wǎng)平臺(tái)應(yīng)用非常廣泛,很多人在做產(chǎn)品設(shè)計(jì)時(shí),不知道怎么實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果,或者只能簡(jiǎn)單實(shí)現(xiàn)一兩個(gè)固定城市的三級(jí)聯(lián)動(dòng)效果。如果要實(shí)現(xiàn)全國(guó)城市的三級(jí)聯(lián)動(dòng)選擇呢?作者將通過(guò)這篇案列分享,教大家使用Axure制作實(shí)現(xiàn)“全國(guó)城市省市縣三級(jí)聯(lián)動(dòng)選擇效果”。
實(shí)現(xiàn)效果可以任意選擇全國(guó)所有省份、選擇該省份對(duì)應(yīng)的城市、選擇該城市對(duì)應(yīng)的縣區(qū);
未選擇省份時(shí),點(diǎn)擊“城市下拉選擇”,提示“請(qǐng)先選擇省份”;
未選擇城市時(shí),點(diǎn)擊“縣區(qū)下拉選擇”,提示“請(qǐng)先選擇城市”;
切換選中省份時(shí),重置城市及縣區(qū)選項(xiàng);
切換選中城市時(shí),重置縣區(qū)選項(xiàng)
當(dāng)前選項(xiàng)處于下拉框選項(xiàng)狀態(tài)時(shí),點(diǎn)擊其他選擇框,隱藏當(dāng)前選項(xiàng)下拉框;
下拉選項(xiàng)框展示時(shí),下拉箭頭向上,下拉選項(xiàng)框隱藏時(shí),下拉箭頭向上;
動(dòng)態(tài)顯示三級(jí)行政區(qū)移入狀態(tài)、選中狀態(tài)、取消選中狀態(tài)。
原理分析(1)利用中繼器的數(shù)據(jù)存儲(chǔ)功能,用三個(gè)中繼器分別存放省份、城市、區(qū)域數(shù)據(jù);
省份中繼器只需1列,用來(lái)存放全國(guó)所有省份數(shù)據(jù);
城市中繼器需要2列,用來(lái)存放省份數(shù)據(jù)及城市數(shù)據(jù)(注意省份名稱要和省份中繼器的省份名稱一致);
縣區(qū)中繼器需要2列,用來(lái)存放城市數(shù)據(jù)及縣區(qū)數(shù)據(jù)(注意城市名稱要和城市中繼器里城市名稱一致);
(2)利用“省份下拉”元件的單擊事件觸發(fā)省份下拉選項(xiàng)的展示與隱藏;
(3)利用臨時(shí)變量將選中的省份名稱賦值給省份輸入框,從而顯示當(dāng)前已選省份;
(4)利用“省份輸入框”元件的文本改變事件,觸發(fā)城市文本輸入框的顯示及城市下拉選項(xiàng)框的內(nèi)容;
(5)利用“城市下拉”元件的選中狀態(tài)事件,判斷省份是否選中,未選中城市則給出“請(qǐng)先選擇省份!”的錯(cuò)誤提示;
(6)城市、區(qū)域涉及的各元件設(shè)置方式同“2、3、4、5”步驟。
元件準(zhǔn)備省份輸入框背景(省份背景),放在輸入框底部
省份輸入框(省份顯示),用于顯示已選擇的省份名稱
省份下拉指示圖標(biāo)(省份選擇),用于點(diǎn)擊觸發(fā)展示下拉選項(xiàng),隱藏下拉選項(xiàng)
省份下拉組合選項(xiàng)(包括一個(gè)中繼器sf,動(dòng)態(tài)面板sfn,動(dòng)態(tài)面板sfw),用于顯示所有省份名字
城市輸入框背景(城市背景),放在輸入框底部
城市輸入框(城市顯示),用于顯示已選擇的城市名稱
城市下拉指示圖標(biāo)(城市選擇),用于點(diǎn)擊觸發(fā)展示下拉選項(xiàng),隱藏下拉選項(xiàng)
城市下拉組合選項(xiàng)(包括一個(gè)中繼器cs,動(dòng)態(tài)面板csn,動(dòng)態(tài)面板csw),用于顯示所有城市名字
縣區(qū)輸入框背景(縣區(qū)背景),放在輸入框底部
縣區(qū)輸入框(縣區(qū)文字),用于顯示已選擇的城市名稱
縣區(qū)下拉指示圖標(biāo)(縣區(qū)選擇),用于點(diǎn)擊觸發(fā)展示下拉選項(xiàng),隱藏下拉選項(xiàng)
縣區(qū)下拉組合選項(xiàng)(包括一個(gè)中繼器xq,動(dòng)態(tài)面板xqn,動(dòng)態(tài)面板xqw),用于顯示所有縣區(qū)名字
操作提示組合元件(提示框),用于顯示校驗(yàn)出錯(cuò)時(shí)的提示
背景,整個(gè)案例的演示背景,可要可不要
隱藏提示文件,重新布局元件后效果如下:
實(shí)現(xiàn)步驟 1. 準(zhǔn)備省份數(shù)據(jù)及操作顯示元件拖入一個(gè)中繼器sf,給中繼器的默認(rèn)Column0列添加全國(guó)所有省份數(shù)據(jù),要加上“請(qǐng)選擇”數(shù)據(jù)
將中繼器的數(shù)據(jù)通過(guò)每項(xiàng)加載時(shí)賦值給矩形,矩形顯示的數(shù)據(jù)就是省份待選項(xiàng)數(shù)據(jù)
將中繼器sf轉(zhuǎn)換為動(dòng)態(tài)面板sfn,動(dòng)態(tài)面板的大小為220px*240px。設(shè)置動(dòng)態(tài)面板的滾動(dòng)條屬性為“自動(dòng)顯示垂直滾動(dòng)條”
實(shí)用小技巧:將可滾動(dòng)的動(dòng)態(tài)面板sfn轉(zhuǎn)換為動(dòng)態(tài)面板sfw,動(dòng)態(tài)面板的大小為200px*240px。設(shè)置動(dòng)態(tài)面板的滾動(dòng)條屬性為“無(wú)”,從而可以實(shí)現(xiàn)滾動(dòng)且隱藏滾動(dòng)條的效果
準(zhǔn)備三個(gè)元件,分別是:省份背景矩形放在最下面,省份顯示文本框放在中間層,省份選擇矩形放在最上面。
省份數(shù)據(jù)涉及的所有元件整理后如下圖所示:
省份數(shù)據(jù)涉及的所有元件整理后如下圖所示:
2. 準(zhǔn)備城市數(shù)據(jù)及操作顯示元件