1. 程式人生 > >Axure原型設計相關:Axure RP8中繼器例項(附rp檔案)——列表的增刪改查、分頁

Axure原型設計相關:Axure RP8中繼器例項(附rp檔案)——列表的增刪改查、分頁

完成後的效果如下圖(1),該例項可以實現以下功能:

  • 新增一條記錄到列表
  • 高亮顯示選中記錄並刪除當前選中記錄,且每次只能選中一條記錄
  • 行編輯
  • 根據查詢條件進行查詢
  • 分頁

圖(1)

為了達到更好的學習效果,強烈建議您邊讀邊做,另外,在使用Axure的過程中,一定要養成給元件命名的好習慣,這會大大提高你的工作效率。廢話不多說,下面我以Axure RP8為例,來說明該例項的實現步驟。

一、設定表頭及中繼器資料集

首先,拖一個table元件到工作區來作為表頭,完成表頭設定後,再拖入一箇中繼器,我將其命名為repeater,如下圖(2)所示:

圖(2)

接下來,需要在中繼器元件的屬性中設定中繼器的資料集,可以把這些資料理解為中繼器的原始資料,如下圖(3):

圖(3)

然後,需要設定中繼器的項(目),所謂“項”就是被中繼器所重複的佈局。雙擊repeater,進入中繼器的項進行編輯,我們會先看到一個矩形,這個矩形是中繼器預設項,可以直接刪除,也可以當做一個普通矩形來用,我們將項設定為4個矩形,並分別命名為:item_id,item_name,item_sex,item_op。
在未設定任何互動的情況下,中繼器不會自動填充資料集。雙擊中繼器“OnItemLoad”事件,分別為item_id,item_name,item_sex設定value,注意,我將item_id的value設定成了item.index,如下圖(4):

圖(4)

此時再次預覽發現中繼器可以正常顯示填充的資料集。

二、新增一條記錄

使用label、text field、droplist、button元件設計出新增介面,兩個輸入框分別命名為add_name,add_sex,新增按鈕命名為add_btn,如下圖(5):

圖(5)

雙擊add_btn 的onclick事件,新增互動事件,步驟如下圖(6),圖(6)中開啟的彈出框對每個欄位進行設定,用到了變數,關於變數不再詳細說明,不清楚的可自行查詢相關資料,圖(7)顯示了對於name欄位的設定方法,其他欄位類似:

圖(6)

圖(7)

此時再次預覽就可以使用新增功能啦。

三、刪除一條記錄

這個功能分兩步實現:第一步實現單擊某行,對該行進行標記並高亮顯示,第二步單擊刪除按鈕刪除已標記行,所以刪除功能要用到中繼器的標記/取消標記功能。

雙擊中繼器,選中4個矩形將他們分為一組,命名為column_group,設定column_group的選中時(selected)樣式,這樣設定後被選中行將高亮顯示,如下圖(8):

圖(8)

然後,設定column_group的onclick事件,需要設定3個事件,如下如(9)所示,在這裡要特別注意unmark事件的設定,如果沒有unmark事件,你會發現在後續刪除時,會刪除所有點選過的記錄,而不只是當前記錄,此外,事件是按順序執行的,一定要把unmark事件放在mark後,切記!

圖(9)

此時預覽,單擊各個記錄,凡是點選過的都會高亮顯示,而我們想要的效果是隻高亮顯示當前選中行。此時需要用到Axure中選項組(selection group)概念,同一個選項組中的元件,當其中一個元件被選中時,自動取消其他元件的選中狀態。我們為column_group設定選項組,選項組的名稱為selection_group,同時取消勾選repeater元件的 “isolate selection groups”,如下圖(10):

圖(10)

此時再次預覽,就可以實現只高亮顯示當前行的效果。至此,我們完成了第一步,第二步非常簡單:只需要新增刪除按鈕,命名為del_btn並設定其onclick事件,如下圖(11):

圖(11)

完成上述步驟後,再次預覽是不是發現已經實現刪除功能啦~

四、行編輯

這一步我們要實現修改並儲存當前選中行的效果。首先,我們雙擊中繼器,在item_op矩形中新增一個Link Button元件,命名為mod_btn,設定其文字為“修改”;此外我們還要在item_name,item_sex矩形中各新增一個Text Field元件,分別命名為mod_name,mod_sex;在item_op中新增一個Link Button元件,命名為save_btn,設定其文字為“儲存”,保證save_btn與mod_btn位置相同(重疊);設定mod_name,mod_sex,save_btn均為隱藏狀態。

接下來我們就需要設定mod_btn的onclick事件。單擊mod_btn應實現顯示mod_name、mod_sex、save_btn,隱藏mod_btn,並設定mod_name、mod_sex的值,如下圖(12)所示:

圖(12)

然後,我們設定save_btn的onclick事件,單擊save_btn應將mod_name、mod_sex的值儲存下來,隱藏mod_name、mod_sex、save_btn,顯示mod_btn,並update row,如下圖(13):

圖(13)

預覽即可單擊修改按鈕來檢視效果如圖(14)所示:

圖(14)

五、條件查詢

新增兩個查詢框和一個查詢按鈕,分別命名為search_name,search_sex、search_btn。為search_btn新增onclick事件,此時需要用到中繼器的add filter來進行資料過濾,如下圖(15):

圖(15)

在配置查詢條件時,由於我們採用模糊查詢,我這邊用的是indexOf函式,對於姓名查詢條件而言,只要資料集item.name中包含了search_name的輸入值,就是滿足該姓名查詢條件的記錄,姓名查詢條件的設定圖下圖(16),性別查詢條件的設定類似,但要注意性別是下拉框:

圖(16)

再次預覽,即可使用查詢按鈕對資料集進行過濾。

六、分頁

中繼器的分頁功能非常好用,只需要進行簡單的設定即可。首先,我們設定repeater的分頁屬性,如下圖(17),我設定中繼器每頁顯示3條記錄:

圖(17)

然後,在repeater下方新增4個Label,分別設定其文字為“首頁”、“上一頁”,“下一頁”,“尾頁”,並分別新增onclick事件,下圖(18)展示了“下一頁”的onclick事件,其他3個Label事件類似:

圖(18)

恭喜!你已經完成使用Axure中最複雜元件——Repeater實現增刪改查、分頁的功能啦