Axure 教程:中繼器高級(jí)用法——下拉多選

Sam
4 評(píng)論 10800 瀏覽 16 收藏 8 分鐘

編輯導(dǎo)讀:作為一個(gè)產(chǎn)品經(jīng)理,學(xué)會(huì)使用Axure 是一個(gè)基礎(chǔ)技能。本文作者分析了中繼器高級(jí)用法——下拉多選的做法,希望對(duì)你有幫助,

原型展示:https://lrj5vq.axshare.com

所需元件:

  • 中繼器:2 個(gè),一個(gè)對(duì)應(yīng)標(biāo)簽,一個(gè)對(duì)應(yīng)下拉列表;
  • 文本框:模擬下拉框;
  • 小三角:模擬下拉框的交互動(dòng)作;

思路:標(biāo)簽和下拉列表的中繼器通過(guò)文本對(duì)應(yīng)進(jìn)行狀態(tài)值的一對(duì)一的更新,并通過(guò)狀態(tài)值的變化控制下拉列表的選中切換和標(biāo)簽的顯示和排序。

一、中繼器的復(fù)選賦值

【標(biāo)簽】中繼器,需要標(biāo)簽文本、標(biāo)簽狀態(tài)、更新時(shí)間,三者的作用分別如下:

  • 標(biāo)簽文本:在做行更新時(shí),以此作為【下拉列表】中繼器的關(guān)聯(lián);
  • 標(biāo)簽狀態(tài):通過(guò)標(biāo)簽狀態(tài)值控制標(biāo)簽的顯示(1)和隱藏(-1);
  • 更新時(shí)間:中繼器的行發(fā)生改變時(shí),更新【更新時(shí)間】,并以更新時(shí)間作為升序排序的標(biāo)準(zhǔn);

因此在載入【標(biāo)簽】中繼器時(shí),需要額外增加一個(gè)排序如上圖所示;

【下拉列表】中繼器,需要選項(xiàng)文本和選項(xiàng)狀態(tài)值,兩者的作用如下:

  • 選項(xiàng)文本:在做行更新時(shí),以此作為與【標(biāo)簽】中繼器的關(guān)聯(lián);
  • 選項(xiàng)狀態(tài):通過(guò)選項(xiàng)狀態(tài)值控制選項(xiàng)背景的選中(1)和取消選中(-1);

二、下拉選項(xiàng)交互設(shè)置

在點(diǎn)擊【下拉列表】中繼器中的選項(xiàng)時(shí),設(shè)置選項(xiàng)(當(dāng)前組件)的選中狀態(tài)(切換);并設(shè)置當(dāng)選項(xiàng)被選中或取消選中時(shí),更新【下拉列表】中繼器的選項(xiàng)狀態(tài)(值)和【標(biāo)簽】中繼器的標(biāo)簽狀態(tài)(值);

如上圖,首先是【選中】時(shí),設(shè)置【標(biāo)簽】中繼器的狀態(tài)值:

  • 規(guī)則:[[Item.Option==TargetItem.tag_Text]](選項(xiàng)文本=標(biāo)簽文本);
  • 狀態(tài)值設(shè)置為:[[TargetItem.tag_State*(-1)]](標(biāo)簽狀態(tài)值*(-1));
  • 更新時(shí)間設(shè)置為:[[Now.getTime()]](獲取當(dāng)前時(shí)間);

同時(shí)更新【下拉列表】中繼器當(dāng)前行的選項(xiàng)狀態(tài)值為:[[Item.State*(-1)]](選項(xiàng)狀態(tài)值*(-1));

同理,在【取消選中】時(shí),設(shè)置【標(biāo)簽】中繼器的狀態(tài)值:

  • 規(guī)則:[[Item.Option==TargetItem.tag_Text]](選項(xiàng)文本=標(biāo)簽文本);
  • 狀態(tài)值設(shè)置為:[[TargetItem.tag_State*(-1)]](標(biāo)簽狀態(tài)值*(-1));
  • 更新時(shí)間設(shè)置為:[[Now.getTime()]](獲取當(dāng)前時(shí)間);

同時(shí)更新【下拉列表】中繼器當(dāng)前行的選項(xiàng)狀態(tài)值為:[[Item.State*(-1)]](選項(xiàng)狀態(tài)值*(-1));

三、刪除標(biāo)簽交互設(shè)置

當(dāng)操作刪除標(biāo)簽,即點(diǎn)擊【X】時(shí),同理,需要更新【下拉列表】中繼器的選項(xiàng)狀態(tài)(值)和【標(biāo)簽】中繼器的標(biāo)簽狀態(tài)(值);

點(diǎn)擊【X】時(shí),設(shè)置【標(biāo)簽】中繼器當(dāng)前行的標(biāo)簽狀態(tài)值為:[[Item.tag_State*(-1)]](標(biāo)簽狀態(tài)值*(-1)),設(shè)置更新時(shí)間為:[[Now.getTime()]](獲取當(dāng)前時(shí)間);

同時(shí),更新【下來(lái)列表】中繼器的選項(xiàng)狀態(tài)值為:[[TargetItem.State*(-1)]](選項(xiàng)狀態(tài)值*(-1)),規(guī)則為:[[Item.tag_Text==TargetItem.Option]](標(biāo)簽文本=選項(xiàng)文本);

四、設(shè)置狀態(tài)變化時(shí)的交互

當(dāng)【下拉列表】中繼器的選項(xiàng)狀態(tài)(值)發(fā)生變化時(shí),設(shè)置選項(xiàng)背景的選中狀態(tài):

  • 情景一(選中):當(dāng)狀態(tài)值=“1”時(shí),設(shè)置背景為選中狀態(tài);
  • 情景二(取消選中):當(dāng)狀態(tài)值=“-1”時(shí),設(shè)置背景為取消選中狀態(tài);

當(dāng)【標(biāo)簽】中繼器的選項(xiàng)狀態(tài)(值)發(fā)生變化時(shí),設(shè)置標(biāo)簽(組)的顯隱狀態(tài):

  • 情景一(顯示):當(dāng)狀態(tài)值=“1”時(shí),顯示標(biāo)簽(組);
  • 情景二(隱藏):當(dāng)狀態(tài)值=“-1”時(shí),隱藏標(biāo)簽(組);

 

本文由@Sam 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash, 基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 球球作者給個(gè)資源吧~

    來(lái)自北京 回復(fù)
  2. 看不懂啊,球球作者出個(gè)視頻吧

    來(lái)自河北 回復(fù)
  3. 看不懂,對(duì)應(yīng)不上

    來(lái)自天津 回復(fù)
  4. owner

    回復(fù)