玩轉Axure:如何實現搜索框聯想詞效果

我們幾乎每天都會使用到搜索功能,在使用百度的時候經常能看到在搜索框中你只要輸入部分關鍵詞,就能看到下邊列出來的候選詞,這種方法不僅能夠幫助那些無法準確定位要搜索什麼詞的用戶,還提高了搜索效率和準確性。

在我們日常使用中除了搜索引擎之外的電商,內容類產品中也尤為常見,接下來就講講如何在原型中體現該效果。

玩转Axure:如何实现搜索框联想词效果

先看效果:

玩转Axure:如何实现搜索框联想词效果

在開始之前,先把思路梳理成流程,便於更好理解實現原理。

玩转Axure:如何实现搜索框联想词效果

所有步驟主要分為兩大塊

玩转Axure:如何实现搜索框联想词效果

01

在頁面中拖入一個“文本框”元件,調整大小為W:325 H:25,並命名為“搜索框”,然後在這一欄輸入“搜索”用作提示。

注意下這裡因為我使用了已經完成的iPhoneX外殼元件,為了能夠美化效果,把文本框的“隱藏邊框”勾選上了,實際練習時可以不用,如需要元件庫可到我公眾號後臺回覆“IOS11元件”獲取。

玩转Axure:如何实现搜索框联想词效果

接下來在頁面中拖入一個“

中繼器”放在文本框下方合適的位置,然後雙擊中繼器進入下一頁面,把頁面內的矩形調整大小為W:325 H:25,並將四周邊框取消,此處取消邊框的作用也是為了美觀。

玩转Axure:如何实现搜索框联想词效果

回到默認頁面,為拖入的中繼器命名為“候選詞”,然後在這一列填充自己需要的候選詞。

玩转Axure:如何实现搜索框联想词效果

2

為“搜索框”元件添加第一個用例,就如我們前邊流程梳理中所說的,若搜索框內文本改變時,需要先對文本添加判斷條件,再執行動作,所以我們為第一個用例添加一個判斷條件。

如下圖:

玩转Axure:如何实现搜索框联想词效果

添加篩選動作於“候選詞”這個中繼器。

玩转Axure:如何实现搜索框联想词效果

配置篩選函數,先添加一個局部變量,也就是搜索框中的文字。

玩转Axure:如何实现搜索框联想词效果

先插入一箇中繼器/數據集的函數<Item.Column0>。

玩转Axure:如何实现搜索框联想词效果

再插入一個字符串函數<substrate(start,length)>。

玩转Axure:如何实现搜索框联想词效果

最後調整函數表達如下圖所示,然後確定,篩選函數設置完畢。

玩转Axure:如何实现搜索框联想词效果

此時添加顯示候選詞”動作,表明符合篩選條件的情況下顯示中繼器內容。

玩转Axure:如何实现搜索框联想词效果

然後為“文本改變時”狀態添加第二個用例,設置當判斷條件“<1時”。

玩转Axure:如何实现搜索框联想词效果

隱藏“候選詞”這個中繼器。

玩转Axure:如何实现搜索框联想词效果

最後,當頁面載入時,設置中繼器為“隱藏”狀態。

玩转Axure:如何实现搜索框联想词效果

完成以上所有步驟,就能展現文中開頭所示的效果,最後我們總結下,從我們給元件狀態配置的用例可以看出,最基本的思路就是“篩選—呈現”。

因此基於這個思路,我們需要做的就是提供篩選數據,而中繼器是一個很好的數據容納工具,然後篩選,符合條件則呈現。不符合條件則隱藏,後續我也會寫更多關於中繼器使用的例子。

這個實現效果並不複雜,至於文中的函數部分我已經做了拆分理解,如果實在難以理解可以嘗試多去練習幾次這個效果,對於沒有寫代碼基礎的同學(我也是)是相對比較難理解。在多次練習後,就會有一定的認識,在日常中這一點並不需要做產品的同學刻意去糾結,重要的是我們能夠理解其中的思路。

也希望大家能夠養成一種習慣,在進行練習前對任務流程進行思路梳理,這樣對理解邏輯更有幫助,有任何問題歡迎在文章底部留言討論。

題圖來自Unsplash,基於CC0協議


分享到:


相關文章: