Axure教程:省市區(qū)級(jí)聯(lián)效果實(shí)現(xiàn)的兩種方式(下拉列表和動(dòng)態(tài)面板)

10 評(píng)論 55802 瀏覽 84 收藏 7 分鐘

級(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)面板。如下圖:

1

2. 為省、市、區(qū)添加模擬數(shù)據(jù)。在添加市、區(qū)時(shí)需要注意,因?yàn)槭遣煌?duì)應(yīng)的不同的市、區(qū),所以市、區(qū)動(dòng)態(tài)面板要分別創(chuàng)建。如下圖:

2

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í)”事件。

3

4

依照設(shè)置安徽省的,完全其他省的設(shè)置。設(shè)置完成后如下圖:

5

設(shè)置后,F(xiàn)5運(yùn)行,效果如下:

sili.gif

下面創(chuàng)建“市”下拉框的“選項(xiàng)改變時(shí)”事件。

因?yàn)椤笆小毕吕蚺c“區(qū)”下拉框是動(dòng)態(tài)面板,所以在設(shè)置“選項(xiàng)改變時(shí)”事件時(shí),需要到每個(gè)面板中對(duì)應(yīng)設(shè)置。

8

7

8

依照合肥市,設(shè)置安徽省其他市設(shè)置,如下圖:

9

與合肥市相同的,完成其他省市的“選項(xiàng)改變時(shí)”事件的設(shè)置。

設(shè)置完成后,F(xiàn)5運(yùn)行,如下圖:

1

至此,通過第一種編寫下拉框各項(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)效果。

在第一種方式中我們寫了如下多事件:如下圖

g1

在第一種方式中看到,需要為每一個(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)面板的名稱相同,如下圖:

10

為什么要兩者名稱一致?下面介紹,動(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è)置:

11

[[LVAR1]]是什么?[[LVAR1]]是變量值,Axure里面有變量的概念,就和編程中變量一樣。把當(dāng)前原件選項(xiàng)值賦值給變量LVAR1,之后“市”動(dòng)態(tài)面板會(huì)自動(dòng)匹配相對(duì)應(yīng)的下拉框。效果如下:

2

類似的,為“市”動(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)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 如果可以,麻煩上傳一下源代碼

    來自北京 回復(fù)
  2. 你這個(gè)添加事件只能一一對(duì)應(yīng),如果省市太多,就比較亂了!

    來自上海 回復(fù)
    1. 添加事件時(shí)第一種方法,我推薦第二種,使用value屬性,只需要寫1個(gè)事件

      來自北京 回復(fù)
    2. 我其實(shí)就想問問使用value屬性怎么實(shí)現(xiàn)三級(jí)聯(lián)動(dòng),我用了value屬性只能實(shí)現(xiàn)二級(jí)聯(lián)動(dòng),想了好久三級(jí)聯(lián)動(dòng)都沒法解決。

      來自上海 回復(fù)
    3. 一一對(duì)應(yīng)串起來就好了 ??

      來自上海 回復(fù)
  3. 沒有說關(guān)鍵的設(shè)置函數(shù),這是故意的嘛??

    回復(fù)
    1. 沒有用到函數(shù),就是局部變量而已。

      來自北京 回復(fù)
    2. 第二種方法 沒有任何反應(yīng)呢

      來自北京 回復(fù)
    3. 畫綠圈的右邊,有個(gè)fx,點(diǎn)擊那里添加局部變量,LVAR1=被選項(xiàng) This ,然后你再試試,二級(jí)聯(lián)動(dòng)是沒問題滴

      來自廣東 回復(fù)
    4. 第二種方法,完全沒有用啊,請(qǐng)問其他人呢

      來自廣東 回復(fù)