Axure9 教程:可模糊搜索的多选效果
csdh11 2025-01-12 12:41 1 浏览
一、交互效果说明
1.点击话题列表中的话题选项,上方输入框内显示选择的话题标签,最多可选择5个标签,超出将有文字提示。
2.点击输入框内已选择的话题标签的删除按钮,可以删除已选择的话题标签,并且该标签返回至下方话题列表中。
3.在输入框中输入话题关键字可自动匹配对应的话题选项。
效果预览:
二、元件准备
1.拖入一个矩形元件,设置宽度:560px,高度:44px,圆角半径为2,命名为「input_bg」;
在其上方拖入一个文本框,隐藏其边框,命名为「Input」。
2.拖入一个中继器元件,双击进入中继器,删除自带的矩形,拖入两个文本标签,右键设置为组合并命名为「Option」;
设置中继器的布局为垂直,行间距为15,将此中继器命名为「List」。
3.再拖入一个中继器元件,双击进入中继器,设置矩形元件的宽度:70px,高度:24px,颜色:#F2F2F2,将其命名为「Selected_Option」;
拖入一个删除的图标,置于「Selected_Option」的上方,命名为「Delete」;
设置中继器的布局为水平,列间距为10,中继器命名为「Selected_List」。
4.拖入一个文本标签,置于中继器「List」上方,设置文本颜色:#EC1111,输入内容:“最多只能选择5个”,命名为「Notice」,点击右键将其设为隐藏。
所有元件如下:
三、添加交互
中继器绑定数据。
1.在中继器「List」的样式面板中,分别填充3列数据【Topic】【Description】【State】,这里设置【State】的值均为1;
2.在右侧交互面板中,添加【每项加载时】的交互,设置文本标签【话题】的文本值为[[Item.Topic]];设置文本标签【描述】的文本值为[[Item.Description]];
3.添加【载入时】【添加筛选】的交互,目标为「List」,规则为:[[Item.State==’1′]],选中【移除其它选项】;
这里设置筛选意为:当数据【State】的值为1时,筛选显示对应的话题选项,默认「List」的话题是全部显示的,所以数据【State】的默认值全部为“1”。
4.设置完成后将此中继器右键转化为动态面板,高度为252px,显示垂直滚动条。
5.同理我们也给中继器「Selected_List」填充数据并添加交互,初始状态下输入框内的话题标签是全部不显示的,所以给【SelectedState】一栏的数据值全部设置为0。
添加模糊筛选效果。
1.给文本框「Input」添加【文本改变时】的交互:
添加情形1,当文本框「Input」输入的文字不为空时,
设置动作【添加筛选】,目标「List」,名称「search」,规则:[[Item.Topic.indexOf(LVAR1)>-1]];
添加局部变量,设置【LVAR1】【==】【元件文字】「input」;
2.添加情形2,当文本框输入的文字为空时,设置动作【移除筛选】,目标「List」,过滤「search」。
字符串函数“indexOf”能够查询字符串对象中是否能够找到参数字符串,函数的运算结果>-1代表能够找到参数字符串。
点击「List」中的话题,在「List」移除此话题选项,同时「Selected_List」中显示对应话题标签。
1.添加一个全局变量「SelectedVariable」,默认值为「0」,用来判断标签的个数。
2.双击进入中继器「List」,给组合「Option」添加【单击时】的交互:
添加情形1,如果全局变量的值「SelectedVariable」<5时,
- 设置全局变量「SelectedVariable」值为[[SelectedVariable+1]];
- 设置【标记行】,目标「List」【当前】行;
- 设置【标记行】,目标「Selected_List」,规则:[[TargetItem.SelectedTopic == Item.Topic]];
- 设置【更新行】目标「List」,选择【已标记】行,「State」列,值为“0”;
- 设置【更新行】目标「Selected_List」,选择【已标记】行,「SelectedState」列,值为“1“;
- 【移动】文本框「Input」【经过】【x】值为“80”;
- 【取消标记】「Selected_List」及「List」的全部行;
- 设置文本框「Input」文字为空。
TargetItem为中继器中的函数,意为目标数据行的对象。
3.继续给上述交互添加情形2,全局变量「SelectedVariable」的值≥5时,添加动作【显示】提示文本「Notice」。
全部交互如下:
点击中继器「Selected_List」中的「Delete」按钮,在「Selected_List」移除此选项,同时「List」中显示对应选项。
双击进入中继器「Selected_List」给删除按钮添加「Delete」添加【单击时】的交互
- 设置全局变量「SelectedVariable」值为[[SelectedVariable-1]]
- 设置【标记行】,目标「Selected_List」【当前】行;
- 设置【标记行】,目标「List」规则:[[TargetItem.Topic == Item.SelectedTopic]];
- 设置【更新行】,目标「List」【已标记】行「State」列,值为“1”;
- 设置【更新行】,目标「Selected_List」【已标记】行,「SelectedState」列,值为“0“;
- 【移动】「Input」【经过】【x】“-80”;
- 【取消标记】「Selected_List」及「List」的全部行;
- 【隐藏】提示文本「Notice」。
本文由 @Daisy 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议
相关推荐
- Python 实现 | 通过 Gitlab API 获取项目工程、分支、commit 提交记录
-
前提在gitlab中你的工程创建AccessToken然后你会得到一个21位accesstoken,代码中需要用到。代码...
- 还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲
-
原文链接:https://mp.weixin.qq.com/s/hyGkjsRIIZdiF_bG-WqLnQ原作者:macrozheng最近发现Gitlab的CI/CD功能也能实现自动化部署,用起来也...
- 使用GitLab实现CICD
-
GitLabCI/CD是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:ContinuousIntegration(CI)持续集成ContinuousDelivery(C...
- 配置GitLab流水线和门禁系统
-
在项目开发的过程中,为了保证代码质量,我们会使用诸多代码质量检测工具,这些工具或是在本地,或是在云端,虽然工具可以检测出异常问题,但是这些问题还是需要我们程序员来修复,如果我们不强制所有人必须修复异常...
- 害怕代码操作是“黑盒”,用代码审计将操作变”白盒”
-
本文作者:极狐GitLab资深解决方案架构师尹学峰审计事件使用审计事件来跟踪重要事件,包括执行相关操作的人员和时间。您可以使用审计事件来跟踪例如:...
- CentOS 7下Yum及RPM安装GitLab CE 14.0.3
-
一、概述 GitLab是一个利用RubyonRails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与GitHub类似的功能,能够浏览源代...
- centos7安装部署gitlab
-
一、Gitlab介1.1gitlab信息GitLab是利用RubyonRails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Githu...
- nginx日志文件切割
-
使用脚本对nginx日志文件进行按天切割#!/bin/bashLOGS_PATH=/usr/local/nginx/logsYESTERDAY=$(date-d-1day+%Y%m%d)c...
- GitLab实战操作指南
-
一、Git原理1、Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。...
- 单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
-
一,简介一般来说,公司有很多系统使用,为了实现统一的用户名管理和登录所有系统(如GitLab、Harbor等),并在员工离职时只需删除一个主账号即可实现权限清除,可以采用单点登录(SSO)...
- 每日一招:搭建Jenkins,Gitlab自动化打包部署项目
-
每日一招,每日掌握一个要点,日积月累的积累。虽然成为不了大神,大牛,但是养家糊口还是可以的。1.Docker-compose构建jenkins环境1.1创建docker在主机的jenkins数据映射...
- Gitlab替代,开源,轻量级代码托管解决方案
-
前言Gitea是一款基于go开发,轻量级的开源跨平台代码托管方案,适合中小团队之间的文档共享和代码协作。主要功能如下:代码托管,支持git代码推拉和版本控制,问题跟踪,允许创建私有或公开仓库;支持ap...
- 基于Docker构建安装Git/GitLab,以及制作springboot工程镜像
-
今天给大家分享的是《领先的开源自动化服务器Jenkins的应用实战》之基于Docker安装构建Git/GitLab版本控制与代码云存储的场所;使用Git管理项目,springboot工程制作镜像知识体...
- Gitlab不同方式的安装配置及常见场景用法
-
一:rpm格式安装1.安装对应的依赖包yuminstall-ycurlpolicycoreutils-pythonopenssh-serversystemctlenablesshdsy...
- 群晖使用Docker安装并配置GitLab服务器
-
群晖(Synology)内置的GitLab版本已经很老了,虽然对系统资源的利用较少,但是不利于使用。因此,要在群晖上安装GitLab服务器,最好还是通过内置的Docker进行安装,这样可以安装较新的G...
- 一周热门
-
-
一文读懂关于MySQL Datetime字段允许插入0000-00-00无效日期
-
MySQL数据库关于表的一系列操作 mysql 表操作
-
新版腾讯QQ更新Windows 9.9.7、Mac 6.9.25、Linux 3.2.5版本
-
IDC机房服务器托管可提供的服务
-
一款全能的看图软件,速度快、功能强、免费用
-
Boston Dynamics Founder to Attend the 2024 T-EDGE Conference
-
一文看懂mysql时间函数now()、current_timestamp() 和sysdate()
-
深度测评:Pixave 和图片管理之间的距离(二)
-
每天一个入坑小技巧:MySql和oracle语法区别(今日追加)
-
Serv-u 提权
-
- 最近发表
- 标签列表
-
- mysql 时间索引 (31)
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- oracle timestamp比较大小 (28)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- 加密与解密第四版pdf (30)
- jemeter官网 (31)
- parsevideo (33)
- 个人网站源码 (37)
- exe4j_java_home (30)
- centos7.4下载 (33)
- xlsx.full.min.js下载 (32)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- usb2.0-serial驱动下载 (30)
- vs2010官网 (31)
- python核心编程第四版pdf (32)
- jdk1.8.0_191下载 (33)
- layer icon (32)
- axure9注册码 (33)