Axure教程:省市區(qū)級(jí)聯(lián)效果實(shí)現(xiàn)的兩種方式(下拉列表和動(dòng)態(tài)面板)
級(jí)聯(lián)是原型中比較常用的一種效果,在繪制級(jí)聯(lián)效果時(shí)我們通常采用的動(dòng)態(tài)面板,加上“選項(xiàng)改變時(shí)”事件完成。這種情況下若級(jí)聯(lián)下拉框值過多時(shí),那么必須為每個(gè)下拉框值寫事件,耗費(fèi)時(shí)間與精力。接下來本文將展現(xiàn)省市區(qū)級(jí)聯(lián)的兩種方式,后者采用動(dòng)態(tài)面板中“value”屬性實(shí)現(xiàn)效果。大家可以進(jìn)行比較。
第一種方式:使用下拉列表框
為下拉列表框每個(gè)值編寫“選項(xiàng)改變時(shí)”事件。
1. 在設(shè)計(jì)器中拖拽三個(gè)下拉框,三個(gè)文本標(biāo)簽,并對(duì)每個(gè)下拉框進(jìn)行命名,將“市”、“區(qū)”下拉框轉(zhuǎn)換成動(dòng)態(tài)面板。如下圖:
2. 為省、市、區(qū)添加模擬數(shù)據(jù)。在添加市、區(qū)時(shí)需要注意,因?yàn)槭遣煌?duì)應(yīng)的不同的市、區(qū),所以市、區(qū)動(dòng)態(tài)面板要分別創(chuàng)建。如下圖:
3. 省市區(qū)級(jí)聯(lián)思路:選擇省之后,市、區(qū)應(yīng)該隨之改變,例如,選擇安徽省,市下拉框應(yīng)該是安徽省下面的所有市,區(qū)下拉框應(yīng)該是當(dāng)前選中市所有的區(qū)(一般默認(rèn)為省會(huì)城市、省會(huì)城市所在區(qū))。
下面創(chuàng)建“省”下拉框的“選項(xiàng)改變時(shí)”事件。
依照設(shè)置安徽省的,完全其他省的設(shè)置。設(shè)置完成后如下圖:
設(shè)置后,F(xiàn)5運(yùn)行,效果如下:
下面創(chuàng)建“市”下拉框的“選項(xiàng)改變時(shí)”事件。
因?yàn)椤笆小毕吕蚺c“區(qū)”下拉框是動(dòng)態(tài)面板,所以在設(shè)置“選項(xiàng)改變時(shí)”事件時(shí),需要到每個(gè)面板中對(duì)應(yīng)設(shè)置。
依照合肥市,設(shè)置安徽省其他市設(shè)置,如下圖:
與合肥市相同的,完成其他省市的“選項(xiàng)改變時(shí)”事件的設(shè)置。
設(shè)置完成后,F(xiàn)5運(yùn)行,如下圖:
至此,通過第一種編寫下拉框各項(xiàng)“選項(xiàng)改變時(shí)”事件實(shí)現(xiàn)省市縣級(jí)聯(lián)效果完成。
第二種方式:利用動(dòng)態(tài)面板
利用動(dòng)態(tài)面板狀態(tài)“value”屬性,通過變量和編寫“選項(xiàng)改變時(shí)”事件實(shí)現(xiàn)效果。
在第一種方式中我們寫了如下多事件:如下圖
在第一種方式中看到,需要為每一個(gè)下拉框編寫事件,如果要實(shí)現(xiàn)32個(gè)省市自治區(qū)級(jí)聯(lián)效果,難道要編寫32個(gè)條件判斷?估計(jì)會(huì)被折磨死了。下面簡(jiǎn)單介紹第二種實(shí)現(xiàn)方式。
首先保證“省”下拉框內(nèi)選項(xiàng)值與“市”動(dòng)態(tài)面板的名稱相同,如下圖:
為什么要兩者名稱一致?下面介紹,動(dòng)態(tài)面板value屬性。
動(dòng)態(tài)面板狀態(tài)名稱就是value,所以當(dāng)省與動(dòng)態(tài)面板名稱一致時(shí),動(dòng)態(tài)面板會(huì)自動(dòng)匹配相對(duì)應(yīng)的下拉框。需要做一下設(shè)置:
[[LVAR1]]是什么?[[LVAR1]]是變量值,Axure里面有變量的概念,就和編程中變量一樣。把當(dāng)前原件選項(xiàng)值賦值給變量LVAR1,之后“市”動(dòng)態(tài)面板會(huì)自動(dòng)匹配相對(duì)應(yīng)的下拉框。效果如下:
類似的,為“市”動(dòng)態(tài)面板下拉框設(shè)置“區(qū)”動(dòng)態(tài)面板的事件。
用這種方式實(shí)現(xiàn)級(jí)聯(lián)效果,我們沒有過多的編寫事件,只有了動(dòng)態(tài)面板的value屬性即可,大大提高了原型制作效率。
小結(jié):
為大家介紹了兩種實(shí)現(xiàn)級(jí)聯(lián)效果的方式,第二種方式需要掌握Axure變量的相關(guān)知識(shí)。
后續(xù)會(huì)為大家介紹Axure變量的相關(guān)知識(shí)點(diǎn)。任何問題可以留言,互相交流。
本文由 @走錯(cuò)路了 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
如果可以,麻煩上傳一下源代碼
你這個(gè)添加事件只能一一對(duì)應(yīng),如果省市太多,就比較亂了!
添加事件時(shí)第一種方法,我推薦第二種,使用value屬性,只需要寫1個(gè)事件
我其實(shí)就想問問使用value屬性怎么實(shí)現(xiàn)三級(jí)聯(lián)動(dòng),我用了value屬性只能實(shí)現(xiàn)二級(jí)聯(lián)動(dòng),想了好久三級(jí)聯(lián)動(dòng)都沒法解決。
一一對(duì)應(yīng)串起來就好了 ??
沒有說關(guān)鍵的設(shè)置函數(shù),這是故意的嘛??
沒有用到函數(shù),就是局部變量而已。
第二種方法 沒有任何反應(yīng)呢
畫綠圈的右邊,有個(gè)fx,點(diǎn)擊那里添加局部變量,LVAR1=被選項(xiàng) This ,然后你再試試,二級(jí)聯(lián)動(dòng)是沒問題滴
第二種方法,完全沒有用啊,請(qǐng)問其他人呢