【Axure 教程】中繼器,你這個(gè)“渣男”(進(jìn)階篇)
中繼器是 Axure 中相對(duì)較難上手的一個(gè)元件,但是一旦熟練掌握后,可以讓產(chǎn)品經(jīng)理在做一些重復(fù)性設(shè)計(jì)比較多的頁(yè)面時(shí),獲得事半功倍的效果,本文主要通過講解中繼器的屬性和事件,帶你初窺中繼器的世界。
當(dāng)你掌握了中繼器的用法,在做一些重復(fù)性設(shè)計(jì)的頁(yè)面的時(shí)候,可以獲得事半功倍的效果,令你心情愉悅。
但是你會(huì)發(fā)現(xiàn)中繼器與“渣男”一樣,難以掌握,它不僅“渣”,而且“雜”,復(fù)雜,要真正運(yùn)用好中繼器有一定的難度,本篇文章將告訴你中繼器的各種特性,教你將中繼器這個(gè)“渣男”拿捏。
上一篇《【Axure 教程】中繼器,你這個(gè)“渣男”(基礎(chǔ)篇)》中我分享了如何使用中繼器做基礎(chǔ)的增刪改查,最后我也提到,實(shí)際當(dāng)中的修改和編輯不可能像我們做的這樣簡(jiǎn)單,本篇文章,我們就來(lái)看看中繼器一些更進(jìn)階的操作吧。
一、修改、刪除指定行
首先我們還是在 Axure 頁(yè)面中拖入一個(gè)【中繼器】,并雙擊打開,在默認(rèn)的【矩形】后面加上【修改】和【刪除】按鈕:
然后我們給修改按鈕添加【中繼器事件】,選擇【更新行】:
可以看到,由于我們是在中繼器內(nèi)部添加事件,在編輯的時(shí)候,【行】的板塊多了一個(gè)【當(dāng)前】的選項(xiàng),我們按默認(rèn)的即可,我們?cè)侔选玖?值】修改一下,改為在原來(lái)數(shù)值的基礎(chǔ)上乘以2,保存后看看效果:
可以看到,當(dāng)我們點(diǎn)擊對(duì)應(yīng)矩形后的修改按鈕時(shí),Axure 會(huì)自動(dòng)幫我們匹配到按鈕所在的對(duì)應(yīng)行,并修改對(duì)應(yīng)行的數(shù)據(jù),這個(gè)就比較符合我們實(shí)際業(yè)務(wù)中的操作場(chǎng)景了。
同樣道理,我們也給刪除按鈕添加【刪除行】事件,同樣可以看到【當(dāng)前】選項(xiàng):
保存后看看效果:
同樣 Axure 會(huì)自動(dòng)幫我們匹配刪除對(duì)應(yīng)的行數(shù)據(jù)。
二、標(biāo)記行,批量刪除
這時(shí)可能有人會(huì)問了,這種方式只能一條數(shù)據(jù)一條數(shù)據(jù)刪除,如果我想批量刪除呢,中繼器同樣可以做到,我們先在中繼器內(nèi)的矩形前面加一個(gè)復(fù)選框:
給復(fù)選框添加事件,當(dāng)復(fù)選框選中的時(shí)候,用【中繼器動(dòng)作】中的【標(biāo)記行】來(lái)標(biāo)記當(dāng)前行,取消選中的時(shí)候用【中繼器動(dòng)作】中的【取消標(biāo)記】來(lái)取消標(biāo)記當(dāng)前行:
然后返回中繼器外部,拖入按鈕,命名為【批量刪除】:
給【批量刪除】按鈕添加【刪除行】的事件,此時(shí)這里我們要選擇刪除【已標(biāo)記】的行:
這樣,當(dāng)我們勾選復(fù)選框的時(shí)候,對(duì)應(yīng)的行就會(huì)被標(biāo)記,在刪除的時(shí)候,Axure 會(huì)自動(dòng)找到被標(biāo)記的行并刪除,我們來(lái)看看效果吧:
這樣,批量刪除的功能也做完了。
三、排序
Axure 給我們提供了非常方便的排序功能,我們可以直接使用,我們?cè)谥欣^器上方拖入兩個(gè)按鈕,分別命名為【升序】和【降序】:
添加事件選擇【中繼器動(dòng)作】中的【添加排序】,系統(tǒng)允許我們選擇對(duì)某一列按數(shù)字、文本、文本(區(qū)分大小寫)、日期進(jìn)行排序:
排序規(guī)則有3種,分別是升序、降序、切換,切換就是每次點(diǎn)擊時(shí),中繼器會(huì)根據(jù)當(dāng)前的排序規(guī)則進(jìn)行反向排序,比如當(dāng)前是升序,則改為降序,降序則改為升序,選擇【切換】時(shí),會(huì)要求指定一個(gè)默認(rèn)的排序規(guī)則(升序或降序):
我們給兩個(gè)按鈕分別添加對(duì)應(yīng)的排序規(guī)則后看看效果:
注意,這里的內(nèi)容是數(shù)字,按正常邏輯【排序類型】應(yīng)該選擇【數(shù)字】,但因?yàn)槲矣昧送ㄓ玫臐h化包,這里會(huì)有bug,導(dǎo)致排序無(wú)法生效,如果你在做設(shè)計(jì)的過程中也遇到相同的問題,可以檢查一下是不是漢化包與你的 Axure 版本不匹配或者用了通用的漢化包。
如果你在做了排序之后,想清除掉排序,恢復(fù)到默認(rèn)排序,則可以用【中繼器動(dòng)作】中的【移除排序】。
四、分頁(yè)
一般當(dāng)我們的列表數(shù)據(jù)很多的時(shí)候,我們不會(huì)選擇一次性全部展示給用戶,而是通過分頁(yè)的形式來(lái)展示,Axure 也提供了基礎(chǔ)的分頁(yè)功能。為了演示方便,我們給中繼器多添加一些數(shù)據(jù):
從上面可以看到,現(xiàn)在的10條數(shù)據(jù)是全部展示出來(lái)的,我們現(xiàn)在來(lái)做一個(gè)分頁(yè),每頁(yè)只顯示5條數(shù)據(jù),在中繼器上方拖入按鈕,命名為【每頁(yè)5條】:
我們給按鈕添加事件,選擇【中繼器動(dòng)作】中的【設(shè)置每頁(yè)項(xiàng)目數(shù)量】,我們指定一個(gè)固定值【5】:
保存一下,我們看看效果:
可以看到,在點(diǎn)擊之后,頁(yè)面上只剩下5條數(shù)據(jù),另外5條數(shù)據(jù)呢?被刪除了嗎?其實(shí)沒有,是被放在第2頁(yè)了,我們可以通過中繼器的另外一個(gè)事件來(lái)讀取第2頁(yè)的數(shù)據(jù)。
我們同樣拖入一個(gè)按鈕,命名為【查看第2頁(yè)】:
添加事件選中【中繼器動(dòng)作】中的【設(shè)置當(dāng)前顯示頁(yè)面】,頁(yè)碼填【2】:
再來(lái)看看效果:
可以看到,當(dāng)我們先點(diǎn)擊【查看第2頁(yè)】時(shí),此時(shí)頁(yè)面一點(diǎn)反應(yīng)的都沒有,因?yàn)榇藭r(shí)沒有進(jìn)行分頁(yè),所以也就沒有所謂的“第2頁(yè)”,當(dāng)我們點(diǎn)擊【每頁(yè)5條】之后,10條數(shù)據(jù)被分成了2頁(yè),再次點(diǎn)擊【查看第2頁(yè)】,就可以看到第2頁(yè)的5條數(shù)據(jù)了。
當(dāng)然,你可能會(huì)說(shuō),實(shí)際設(shè)計(jì)的時(shí)候,分頁(yè)不可能是這么做的,沒錯(cuò),雖然我們這個(gè)是“進(jìn)階篇”的教程,但說(shuō)到底還是中繼器的基礎(chǔ),后面的“實(shí)戰(zhàn)篇”我會(huì)給你分享如何用中繼器來(lái)設(shè)計(jì)一個(gè)最基礎(chǔ)的增刪改查的表單。
五、拓展
最后這塊算是拓展,實(shí)際設(shè)計(jì)中只有做超高保真交互時(shí)才會(huì)用到,但我想把中繼器涉及到的一些東西做一個(gè)“補(bǔ)完”計(jì)劃,所以增加了這塊。
主要是中繼器提供的一些函數(shù),我在上述例子的后面增加了一個(gè)表格,每個(gè)單元格中的內(nèi)容分別是對(duì)應(yīng)的函數(shù)名,點(diǎn)擊之后就可以看到對(duì)應(yīng)函數(shù)的執(zhí)行結(jié)果,接下來(lái)我逐一說(shuō)明每個(gè)函數(shù)的作用:
1. Item.index
返回當(dāng)前行在當(dāng)前頁(yè)的索引值(從1開始),每頁(yè)的第一行數(shù)據(jù)索引值都是1:
2. Item.isFirst
判斷當(dāng)前行是否是當(dāng)前頁(yè)的【第一行】,是返回【true】,否返回【false】:
3. Item.isLast
判斷當(dāng)前行是否是當(dāng)前頁(yè)的【最后一行】,是返回【true】,否返回【false】:
4. Item.isEven
判斷當(dāng)前行是否是【偶數(shù)行】,是返回【true】,否返回【false】:
5. Item.isOdd
判斷當(dāng)前行是否是【奇數(shù)行】,是返回【true】,否返回【false】:
6. Item.isMarked
判斷當(dāng)前行是否被【標(biāo)記】,是返回【true】,否返回【false】,這個(gè)我們結(jié)合前面做的復(fù)選標(biāo)記功能看一下,看看勾選和未勾選得到的結(jié)果分別是什么:
7. Item.isVisible
判斷當(dāng)前行是否【可見】,是返回【true】,否返回【false】,這個(gè)看起來(lái)好像有點(diǎn)多余,但是一般這個(gè)不會(huì)用來(lái)判斷當(dāng)前行,一般通過索引或篩選等定位某條數(shù)據(jù),判斷該條數(shù)據(jù)是否可見:
8. Item.Repeater.visibleItemCount
統(tǒng)計(jì)當(dāng)前可見的數(shù)據(jù)條數(shù),如下,分頁(yè)前可見是10條,分頁(yè)后可見只有5條:
9. Item.Repeater.itemCount
統(tǒng)計(jì)當(dāng)前中繼器的數(shù)據(jù)條數(shù),如果進(jìn)行篩選,則統(tǒng)計(jì)的數(shù)量是篩選后的數(shù)量:
10. Item.Repeater.dataCount
統(tǒng)計(jì)當(dāng)前中繼器的數(shù)據(jù)總數(shù),無(wú)論是否篩選,對(duì)統(tǒng)計(jì)結(jié)果都沒有影響:
11. Item.Repeater.pageCount
統(tǒng)計(jì)當(dāng)前中繼器的頁(yè)數(shù),如下,分頁(yè)前是1頁(yè),分頁(yè)后是2頁(yè):
12. Item.Repeater.pageIndex
返回當(dāng)前所在頁(yè)的頁(yè)碼:
好了,以上我相信已經(jīng)幾乎涵蓋了中繼器的大部分知識(shí)點(diǎn),下一篇文章,我將分享如何綜合運(yùn)用這些知識(shí)點(diǎn)來(lái)做一個(gè)增刪改查的小項(xiàng)目。
本文由 @產(chǎn)品錦李 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
我沒有當(dāng)前哎
不是很清楚你說(shuō)的問題,可以具體描述一下嗎?
如果沒有上述提及的某個(gè)功能,可以先確認(rèn) Auxre 版本是否是9.0以上的,如果不是,可能部分功能有差異
如果是相同版本的 Axure,可以檢查是否設(shè)置的位置,在中繼器外設(shè)置交互和中繼器內(nèi)設(shè)置時(shí),軟件提供的功能是有差異的
要把按鈕添加在中繼器里面才行
真不錯(cuò)