Axure9教程:如何实现淘宝模糊搜索框? 获赏10金币 案例教程 基础教程

艾斯的axure峡谷 普通用户 2020-4-30 3113

提到淘宝的搜索,大家都能想到在这个搜索框输入关键词后出现的一系列联想词。那么这种效果如何通过Axure做出来呢?又有哪些要点呢?


我们每天都在使用淘宝的搜索功能来筛选定位自己想要的商品,只需要输入一个关键词,就能模糊搜索到包含此关键词的所有商品。今天将为大家讲解如何在原型中体现该效果。案例效果如下:

一、实现逻辑

1、当输入框的值为空时,下面的数据项不显示;

2、当输入框的值不为空时,下面的数据项显示,且数据筛选出包含输入框中关键词的数据项;

根据上面的逻辑,需要用到函数[[LVAR.indexOf(‘searchValue’)]],对函数进行筛选。

二、元件搭配

在元件库中拉入一个【输入框】作为搜索输入框和一个【中继器】作为数据展示,如下所示:

选中【中继器】,在样式中,为中继器添加默认的数据,在<Cloumn0>这一列填充自己想要的数据项。

三、交互实现


1. 选中【输入框】,添加【文本改变时】的交互事件。需要先对文本添加判断条件,再执行动作,即当输入框的文字长度大于等于1时,执行动作,条件设置如下:

2. 设置条件满足时,显示下面的数据【中继器】,如下图所示:

3. 对数据【中继器】中的数据项进行筛选,主要利用函数[[LVAR.indexOf(‘searchValue’)]],设置如下图所示:

1)首先点击上图【规则】输入框旁的【fx】,配置筛选函数,为其先添加一个局部变量,即搜索框中的文字。

2)插入变量或函数为[[Item.Column0.indexOf(LVAR1)!=-1]]。

函数的意思为:在中继器中查询文本框中文字出现的位置,也就是说,凡是能返回数字的条目,表示都是包含文本框文字的。当查询不到文本框文字时,返回值为-1(负1),即不包含查询的关键字。


其中 Item.Column0 代表中继器中的数据项。LVAR1代表局部变量为文本框元件文字。!=-1的意思是即排除不包含查询的关键字的数据。

这样出现的模糊查询的结果是,只要包含输入框关键词的任意一个字,模糊查询的选项都会被列出来。如下图所示:

4. 接下来只需要添加另一个情形结果2。其条件设置为【否则如果真】,动作为:隐藏【数据中继器】。如下图所示:

四、最终效果如下

中继器在原型制作中对数据的筛选是一个不错的元件,大家可以多尝试使用,有任何问题欢迎在文章底部留言讨论。源文件可以在公众号中留言获取。


上传的附件:
登录后回复
打赏排行 用户名 打赏金额
第1名 沈十三 10金币
最新回复 (18)
  • salmon501 普通用户 2021-11-11
    0 引用 19
    cool
  • niujf 普通用户 2021-10-19
    0 引用 18
    666
  • 新梦 普通用户 2021-10-15
    0 引用 17
    感谢分享
  • beAst 普通用户 2021-4-27
    0 引用 16
    感谢楼主
  • ccoo 普通用户 2021-2-5
    0 引用 15
    感谢楼主
  • SameenWu 普通用户 2021-1-15
    0 引用 14
    666
  • lightinice 普通用户 2020-11-25
    0 引用 13
    感谢分享
  • HeiHei_1596696186 普通用户 2020-8-31
    0 引用 12
    厉害了
  • meihao 普通用户 2020-7-18
    0 引用 11
    谢谢分享 
  • IdealChao 普通用户 2020-7-17
    0 引用 10
    一开始的中继器要隐藏,这步忘记了,后来自己看效果琢磨出来
  • shishii 普通用户 2020-5-19
    0 引用 9
    谢谢分享
  • 五是我 普通用户 2020-5-18
    0 引用 8
    谢谢分享
  • 刀刀狗 普通用户 2020-5-13
    0 引用 7
    感谢
  • ECHO_HE 普通用户 2020-5-9
    0 引用 6
    感谢分享
  • Lemin.focus 普通用户 2020-5-6
    0 引用 5
    产品的知识海洋真的是博大精深
  • 沈十三 管理员 2020-5-6
    0 引用 4
    感谢分享,已获得10金币奖励!
  • asher回 普通用户 2020-5-3
    0 引用 3
    谢谢分享
  • 王平_1588152620 普通用户 2020-5-2
    0 引用 2
    谢谢分享
返回