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