航洋学校

详细内容

中继器单条件、多条件搜索详解

  今天教大家一个非常实用的技能——模糊搜索。在这里,我们以英雄联盟这个游戏的数据为例,在这个游戏里英雄都有自己的名字,同时也有玩家在交流过程中形成的昵称。例如,战争女神在玩家口中的昵称就是轮子妈。如何在搜索时同时对英雄的名字和昵称一起模糊搜索呢?

2.png

  我们先创建一个中继器,把英雄的名字和昵称录入进去吧!再在上面加一个表头,便于我们知晓对应列数据的内容是什么。当然,我们还需要一个文本框,在文本框输入好内容回车后,将对应的淑女从中继器中筛选出来。

  中继器数据创建好之后,别忘记在【每项加载时】中把对应的数据赋值在对应的位置,例如我现在的这个案例,就是需要把名字文本设定到矩形中。

  下面进入正题,首先我们想做的是在文本框按下回车之后才筛选,所以应该在交换中选择【按键按下时】,并且添加条件,按下的这个键必须是回车键之后才做出对应的动作。

  下面是筛选中继器数据,在此我们要学习一个函数——[[LVAR.indexOf(‘searchValue’)]]

  LVAR:在哪儿搜索?

  searchValue:搜什么?如果是直接在此输入文本,需要两侧加单引号。

  这个函数的意思是:在LVAR搜索searchValue。

  那么,搜索到了之后呢?会反馈我们结果,如果没找到的话会返回值-1,如果找到了则会返回你找的这个字的位置。

  需要注意的是,返回的位置是从0开始的,也就是说,如果在*个字就出现了,那么返回值是0,第2个字出现了,那么返回值是1。

  我们在制作需求中,一般都是只要出现了就算是有效数据,而不是需要这个字必须在第几位之后出现才有效。

  所以,只要返回的数据大于-1,无论是任何值,意思都是说搜索到了这个文本的。

  我们添加局部变量text,代表文本框内的文字:

  如果我们只想搜索名字中包含关键字的数据,那么这个函数就应该是:

  [[(item.name.indexof(text)>-1]]

  这个的意思是,在item.name这列数据中搜索text文本,如果搜索到了,那么就将数据筛选出来。

  如果我们想要2列数据任意1列,任意1列搜索到就算符合条件呢?

  *列符合的话返回值是-1,第二列同样也是-1,两条加起来就是-2,所以,这个函数就应该是:

  [[(item.name.indexof(text)+item.nickname.indexof(text))>-2]]

  贵阳航洋动漫职业学校是贵阳市教育局批准(贵阳市教[2010]15号)设立的跨专业(包含计算机平面设计、动漫与游戏制作、影像与影视技术、绘画等专业)、多门类、全日制中等专业职业学校,同时也是一所实行准军事化管理的学校。


关注公众号

关注微头条

学校位于贵阳市白云区数字内容产业园内,占地面积60多亩,篮球场、室内运动场、游泳池、食堂、超市等俱全,环境优雅。

电话直呼
在线客服
发送邮件
企业位置
联系我们:
13618598927
校长办公室
点击这里给我发消息
还可输入字符250(限制字符250)
seo seo