当前位置: 首页 > news >正文

【Axure教程】标签版分级多选下拉列表

分级多选下拉列表是指一个下拉列表,它包含多个层次的选项,用户可以选择一个或多个选项。这些选项通常是根据某种层级关系来组织的,例如从上到下有不同的分类或者过滤条件,用户选择上层选项后,下层选项会发生变化,通常显示与上层选项相关的数据。

今天我们就来学习,怎么在Axure中制作标签版分级多选下拉列表的原型模版,本文为高级教程,不建议刚入门的同学直接学习,建议可以先学习前面的基础章节,对中继器有一定了解后,再回头学习本教程。

【原型地址】

https://axhub.im/ax9/09b38389df30358f/#g=1&p=2级多选下拉列表__含标签

一、效果展示

查看子级选项——点击一级选项,可以在右侧查看对应的二级选项

图片

选中或取消选中——点击多选按钮,可以选中或取消选中当前选项

图片

全选效果——选中一级选项后,自动全选对应的2级选项

图片

取消全选——取消选中一级选项后,自动取消选择所有对应的2级选项

图片

自动反选——一级选项会根据对应二级选项选中的数量自动反选

1、如果子级选项全部选中,就会变成全选状态

图片

2、如果子级选项全部未选中,就会变成未选状态

图片

3、如果自己选项部分选中,就会变成半选状态

图片

生成标签——选中选项后,会自动生成对应的标签,下拉框会根据标签数量自动调整尺寸

图片

二、制作教程

1. 材料准备

我们主要分成四部分内容制作,包括下拉框、一级选项列表,二级选项列表,选中后回显的标签。

1.1下拉框

下拉框主要由矩形和箭头组成,如下图所示摆放

图片

1.2 一级下拉列表

一级选项列表主要由矩形(背景)和中继器制作,中继器内部包括多选按钮,文本标签、背景矩形和右箭头,其中多选按钮我们需要自制,将多选、半选和全选图标放在同一个动态面板的3个状态页里,后续通过交互切换。

中继器表格里我们需要有三列,text列对应文本,jinyong列用于控制子级显示和变色,xuanzhong列用于控制选中状态。

图片

如果是Axure10或以上的版本,我们点击链接按钮,选择文本标签,就可以将表格文本设置到文本标签的元件里;如果是Axure9或以下的版本,我们就要在中继器每项加载时,用设置文本的交互,将表格里的值设置到文本标签元件里。

填写完成后,如果选项内容较多,我们可以将中继器转为动态面板,然后调出垂直滚动条,如果需要隐藏滚动条或美化滚动条,可以通过双动态面板来实现,完成后如下图所示。

图片

1.3 二级下拉列表

二级选项列表和一级的基本一致,我们把一级的复制过来,将箭头删除,然后将原来的text列改成text2,增加一个text1列,text1列指的是该2级选项对应的一级选项,例如二级选项是广州市,那他的一级选项就是广东省,上面里值text1就是广东省,text2就是广州市,这里显示的文本值为text2列的值,设置方式和上面一级选项列表一致。最后我们需要增加一列xianshi列,后续用于控制显示内容。

图片

1.4 选中后回显的标签

我们也是用中继器来制作,中继器里放置一个矩形,样式自由设计,可以参考下图所示

图片

中继器表格里增加一列,默认为空即可,后续通过交互会将选项列表的选中项设置到这里,我们只需要将这列的值设置到矩形里即可,方法同上面的一级下拉列表。

图片

案例中这个中继器网格分布,每行显示2个选项。

这个中继器放在下拉框的上方,整体布局如下图所示

图片

将一级列表和二级列表组组合,作为选项的弹出列表,将标签中继器和下拉框组组合。

2. 交互制作

2.1 显示选项列表

鼠标单击下拉框组合时,我们用显示的交互,显示选项列表,这里要选择遮罩效果,遮罩为透明,这样点击空白地方就可以收起列表。

图片

2.2 根据一级选项显示二级选项

鼠标单击一级选项时,我们想在让该行内容变色,显示2级选项列表,列表内容为该选项的子级选项,例如我们点击小米选项,右侧的2级选项就显示小米旗下的型号。

这里我们通过jinyong列来控制变色效果,首先要给中继器里需要变色的元件,包括文本标签、背景矩形、和箭头设置禁用样式,我们定义,如果jinyong列的值等于1,那么就禁用上面的元件。鼠标单击时,我们通过标记行的数据,将当前行jinyong列的值更新为1,就可以实现变色效果了,但是还有一个问题,就是如果前面有选择了其他选项,在点击选项,那就会有多个变色的选项,所以我在更新当前行之前,要先做一个还原的操作,我们可以先标记所有行,然后将所有行禁用列的值更新成不为1,这样就可以实现只有一个选项变色。

图片

当鼠标单击后,这行的jinyong列的值等于1时,我们就要控制右侧2级选项列表的值是否显示,这里我们定义,如果显示列的值等于1,就显示,如果不等于1,就用隐藏的交互将中继器里的元件隐藏

图片

那上面jinyong列的值等于1时,我们就可以通过更新,xianshi列的值来控制显示的内容,我们要显示的是,一级列表text列的值,等于2级列表text1列的值,符合条件的我们将他更新为1即可,这也和上面一样,设置一个还原的问题,所以我们同样需要,在更新之前,先标记所有行,将所有行的值更新为0,就是不显示,最后在更新符合条件的为1。

图片

这样就可以点击一级选项,显示对应的二级选项了

2.3 二级列表的选中、取消选中

二级列表是案例中最后一级,所以他只有选中和未选中两个状态,我们定义如果xuanzhong列的值等于1,就将他显示选中(全选)状态,否则就显示未选状态。

鼠标单击时选中按钮时,相当于想将已选状态变成未选中状态,所以我们用更新行的交互,将该行xuanzhong列的值更新为0。

图片

鼠标单击时未选按钮时,相当于想将未选状态变成选中状态,所以我们用更新行的交互,将该行xuanzhong列的值更新为1。

图片

2.4 二级列表的选中后添加标签

当中继器表格xuanzhong列的值为1时,我们用添加行的交互,将值添加到标签中继器里就可以了,这里标签的文字我们可以用text1列和text2列的值组合而成。

图片

因为中继器每次更新变动,他都会从头开始读取,所以你会发现前面选中的选项会出现重复,所以在中继器刚开始加载的时候,我们要用先将标签中继器的值还原,相当于清空,我们用标记行标记所有数据,然后用删除行删除,然后后面才是选中了一个个添加。

图片

2.5下拉框的自适应

添加标签后,我们要根据标签的大小,调整下拉框的大小和弹出列表的位置。当标签中继器加载到最后一行时,我们用设置尺寸的交互,调整下拉框矩形的高度为标签中继器的高度+边距,在将弹出组合移动到下拉框的下方。

图片

2.6一级列表的选中、取消选中

因为一级列表有三种形态,全选、半选和未选,所以如果点击未选状态和半选状态,相当于想将当前选项选中,并且全选2级列表对应的所有子级选项;如果点击的是全选状态,相当于想将一级列表当前选项选中变成未选中,并且2级列表所有对应的子级选项变成未选中。我们先定义,如果xuanzhong列的值等于全选,就显示全选(选中)的面板页;如果等于半选就显示半选的面板页,否则就默认显示未选的面板页。

图片

当鼠标单击未选或半选按钮时,我们用更新行的交互,将当前面板状态更新为全选状态,然后通过更新行的交互,将2级列表text1列值等于当前列表text列的值的选项,xuanzhong列的值更新为1

图片

当鼠标单击全选按钮时,相当于要取消当前选中,并且取消对应子级的选中,我们用更新行的交互,将当前面板状态更新为未选状态,然后通过更新行的交互,将2级列表text1列值等于当前列表text列的值的选项,xuanzhong列的值更新为0

图片

2.7一级列表的反选

上面我们并没有直接将一级列表选项的选中状态更新到一级列表中继器里,这是因为我们是通过2级列表来反选的,我们前面2级列表选项选中时xuanzhong列的值等于1,这样我们就可以通过统计该一级选项对应的二级选项的个数,以及对应xuanzhong列加总值是否一致,如果相等,就是全选了,我们用更新行的交互,将对应1级xuanzhong列的值更新为全选;如果不等于,并且选中的值大于0,就是半选,我们用更新行的交互,将对应1级xuanzhong列的值更新为半选;如果等于0,就是未选,更新行的交互,将对应1级xuanzhong列的值更新为未选。

图片

需要注意的是,和前面一样因为中继器每次更新都是从头开始读取,所以记录的显示数和统计数需要在加载开始的时候恢复默认值为0,然后再累计

2.8其他优化效果

最后,可以根据自己需要增加一些交互优化的效果,例如选项列表弹出时显示上箭头,收起后显示下箭头,或者鼠标移入选项变色等。

这样我们就完成了分级下拉列表原型模板了,后续使用也很方便,只需要在中继器表格里填写对应的选项,预览后即可自动生成对应的效果。

那以上就是本期教程的全部内容,感兴趣的同学们可以动手试试哦,感谢您的阅读,我们下期见。

相关文章:

【Axure教程】标签版分级多选下拉列表

分级多选下拉列表是指一个下拉列表,它包含多个层次的选项,用户可以选择一个或多个选项。这些选项通常是根据某种层级关系来组织的,例如从上到下有不同的分类或者过滤条件,用户选择上层选项后,下层选项会发生变化&#…...

DeepSeek图解10页PDF

以前一直在关注国内外的一些AI工具,包括文本型、图像类的一些AI实践,最近DeepSeek突然爆火,从互联网收集一些资料与大家一起分享学习。 本章节分享的文件为网上流传的DeepSeek图解10页PDF,免费附件链接给出。 1 本地 1 本地部…...

Centos7 停止维护,docker 安装

安装docker报错 执行docker安装命令:sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin,出现如下错误 更换yum源 [rootlocalhost yum.repos.d]# sudo mv /etc/yum.repos.d/CentOS-Base.repo /et…...

日志级别修改不慎引发的一场CPU灾难

背景 今天下午16.28有同事通过日志配置平台将某线上应用部分包的日志等级由error调为info,进而导致部分机器CPU升高,甚至有机器CPU达到100%,且ygc次数增加,耗时增加到80~100ms。 故障发现与排查 16.28陆续出现线上C…...

FPGA实现SDI视频缩放转UltraScale GTH光口传输,基于GS2971+Aurora 8b/10b编解码架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案本博已有的 SDI 编解码方案我这里已有的FPGA图像缩放方案 3、工程详细设计方案工程设计原理框图SDI 输入设备GS2971芯片BT1120转RGB…...

二级C语言题解:矩阵主、反对角线元素之和,二分法求方程根,处理字符串中 * 号

目录 一、程序填空📝 --- 矩阵主、反对角线元素之和 题目📃 分析🧐 二、程序修改🛠️ --- 二分法求方程根 题目📃 分析🧐 三、程序设计💻 --- 处理字符串中 * 号 题目&#x1f…...

利用 Python 爬虫获取按关键字搜索淘宝商品的完整指南

在电商数据分析和市场研究中,获取商品的详细信息是至关重要的一步。淘宝作为中国最大的电商平台之一,提供了丰富的商品数据。通过 Python 爬虫技术,我们可以高效地获取按关键字搜索的淘宝商品信息。本文将详细介绍如何利用 Python 爬虫技术获…...

什么是幂等性

幂等性(Idempotence)是一个在数学、计算机科学等多个领域都有重要应用的概念,下面从不同领域为你详细介绍其含义。 数学领域 在数学中,幂等性是指一个操作或函数进行多次相同的运算,其结果始终与进行一次运算的结果相…...

群晖NAS如何通过WebDAV和内网穿透实现Joplin笔记远程同步

文章目录 前言1. 检查群晖Webdav 服务2. 本地局域网IP同步测试3. 群晖安装Cpolar工具4. 创建Webdav公网地址5. Joplin连接WebDav6. 固定Webdav公网地址7. 公网环境连接测试 前言 在数字化浪潮的推动下,笔记应用已成为我们记录生活、整理思绪的重要工具。Joplin&…...

示例:JAVA调用deepseek

近日,国产AI DeepSeek在中国、美国的科技圈受到广泛关注,甚至被认为是大模型行业的最大“黑马”。在外网,DeepSeek被不少人称为“神秘的东方力量”。1月27日,DeepSeek应用登顶苹果美国地区应用商店免费APP下载排行榜,在…...

【提示工程】:如何有效与大语言模型互动

随着人工智能技术的快速发展,大语言模型(LLM)如 GPT 系列在各类任务中的应用越来越广泛。从文本生成到代码编写,从数据分析到内容创作,这些模型展现出了强大的能力。然而,要充分发挥大语言模型的潜力,关键在于如何设计高质量的提示词(Prompts)。这门技术被称为提示工程…...

操作系统—经典同步问题

补充 互斥信号量mutex初值均为1 同步信号量根据问题实际描述自己设计 生产者-消费者问题 问题描述:一组生产者进程和一组消费者进程 共享一个初始为空、大小为n的缓冲区。(缓冲区:临界资源) 只有缓冲区没满时,生产者…...

profinet工业通信协议网关:提升钢铁冶炼智能制造效率的利器

工业通信协议网关profinet转ethercat(稳联技术WL-PN-ECATM)在钢铁冶炼生产线中的智能应用实践 在现代钢铁冶炼生产中,复杂的设备互联和数据传输对生产效率和质量控制至关重要。本案例详细阐述了某大型钢铁集团通过工业通信协议网关实现生产线…...

Vue基础:计算属性(描述依赖响应式状态的复杂逻辑)

文章目录 引言computed() 方法期望接收一个 getter 函数可写计算属性:计算属性的 Setter计算属性的缓存机制调试 Computed引言 推荐使用计算属性来描述依赖响应式状态的复杂逻辑 computed 函数:它接受 getter 函数并为 getter 返回的值返回一个不可变的响应式 ref 对象。 c…...

leetcode:1534. 统计好三元组(python3解法)

难度&#xff1a;简单 给你一个整数数组 arr &#xff0c;以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件&#xff0c;则认为它是一个 好三元组 。 0 < i < j < k < arr.length|arr[i] - arr[j]| &l…...

BUU27 [SUCTF 2019]CheckIn1

题目是上传文件 直接上传muma.jpg还不成功&#xff1a; 好吧&#xff0c;那做一个图片马上去&#xff0c;换马以后发现还是不行&#xff0c;呃啊啊啊啊 干啥啥不行&#xff0c;搜wp第一名&#xff0c;哎 新面孔&#xff1a;exif_imagetype 函数在 PHP 中用于检测一个文件是否为…...

unity学习30:Audio Source, Audio clip 音效和音乐

目录 1 音乐相关必须要有 Audio listener 和Source 2 Scene里必须要有 Audio listener 3 Audio Source 3.1 Audio Source 就是音源&#xff0c;可播放的音乐clip 分类 3.2 创建Audio Source 3.3 各种属性 3.4 3D sound Settings 4 使用脚本来播放声音 4.1 声明AudioC…...

【Qt 常用控件】输入类控件1(QLineEdit和QTextEdit 输入框)

目录 1.QLineEdit 单行输入框 例&#xff1a;输入个人信息&#xff0c;通过按钮提交 例&#xff1a;为输入框设置验证器&#xff0c;检查输入的电话 例&#xff1a;验证两次输入的密码是否一致 例&#xff1a;是否显示密码按钮,toggled信号。 2.QTextEdit多行输入框 、QPl…...

openEuler22.03LTS系统升级docker至26.1.4以支持启用ip6tables功能

本文记录了openEuler22.03LTS将docker升级由18.09.0升级至26.1.4的过程&#xff08;当前docker最新版本为27.5.1&#xff0c;生产环境为保障稳定性&#xff0c;选择升级到上一个大版本26的最新小版本&#xff09;。 一、现有环境 1、系统版本 [rootlocalhost opt]# cat /etc…...

深入解析:如何利用 Java 爬虫按关键字搜索淘宝商品

在电商领域&#xff0c;通过关键字搜索商品是常见的需求。无论是商家分析竞争对手&#xff0c;还是消费者寻找心仪的商品&#xff0c;获取搜索结果中的商品信息都至关重要。本文将详细介绍如何利用 Java 爬虫按关键字搜索淘宝商品&#xff0c;并提供完整的代码示例。 一、Java…...

【Netty系列】Reactor 模式 2

目录 流程图说明 关键流程 以下是 Reactor 模式流程图&#xff0c;结合 Netty 的主从多线程模型&#xff0c;帮助你直观理解事件驱动和线程分工&#xff1a; 流程图说明 Clients&#xff08;客户端&#xff09; 多个客户端&#xff08;Client 1~N&#xff09;向服务端发起连…...

鸿蒙仓颉语言开发教程:自定义弹窗

假期第一天&#xff0c;祝大家端午节快乐。昨天观看了时代旗舰尊界S800的发布&#xff0c;不得不感慨这车真好啊&#xff5e; 放假闲来无事&#xff0c;继续跟大家分享仓颉语言的开发教程&#xff0c;今天介绍一下自定义弹窗。 仓颉语言中的自定义弹窗和ArkTs类似&#xff0c…...

C++:优先级队列

目录 1. 概念 2. 特征 3. 优先级队列的使用 1. 概念 优先级队列虽然名字有队列二字&#xff0c;但根据队列特性来说优先级队列不满足先进先出这个特征&#xff0c;优先级队列的底层是用堆来实现的。 优先级队列是一种容器适配器&#xff0c;就是将特定容器类封装作为其底层…...

vscode使用“EIDE”和“Cortex-Debug”插件利用st-link插件实现程序烧写以及调试工作

第一步&#xff1a;安装vscode插件“EIDE”EIDE和“Cortex-Debug”。 第二步&#xff1a;配置EIDE 2.1安装“实用工具”&#xff1a; 2.2 EIDE插件配置&#xff1a;根据安装的keil C51 keil MDK IAR的相关路径设置 第三步&#xff1a;配置Cortex-Debug插件 点击settings.jso…...

20250530-C#知识:String与StringBuilder

String与StringBuilder string字符串在开发中经常被用到&#xff0c;不过在需要频繁对字符串进行增加和删除时&#xff0c;使用StringBuilder有利于提升效率。 1、String string是一种引用类型而非值类型&#xff08;某些方面像值类型&#xff09;使用“”进行两个string对象的…...

如何合理设计缓存 Key的命名规范,以避免在共享 Redis 或跨服务场景下的冲突?

设计合理的缓存 Key 命名规范对于避免冲突、提高可维护性和可读性至关重要&#xff0c;尤其是在共享 Redis 实例或跨服务调用的场景下。 以下是一个推荐的缓存 Key 命名规范和设计思路&#xff1a; 一、核心原则 唯一性 (Uniqueness): 这是最重要的原则&#xff0c;确保不同…...

【PmHub面试篇】Gateway全局过滤器统计接口调用耗时面试要点解析

你好&#xff0c;欢迎来到本次关于Gateway全局过滤器统计接口调用耗时的面试系列分享。在这篇文章中&#xff0c;我们将深入探讨这一技术领域的相关面试题预测。若想对相关内容有更透彻的理解&#xff0c;强烈推荐参考之前发布的博文&#xff1a;【PmHub后端篇】PmHub Gateway全…...

CTA-861-G-2017中文pdf版

CTA-861-G标准&#xff08;2016年11月发布&#xff09;规范未压缩高速数字接口的DTV配置&#xff0c;涵盖视频格式、色彩编码、辅助信息传输等&#xff0c;适用于DVI、HDMI等接口&#xff0c;还涉及EDID数据结构及HDR元数据等内容。...

iOS 集成网易云信的音视频呼叫组件

云信官方文档在这 前提是集成了云信IM&#xff0c;并且已经IM登录成功&#xff0c;如果没有集成IM的看这里&#xff1a;iOS 集成网易云信IM-CSDN博客 1、CocoPods集成 #云信 pod NIMSDK_LITE, 10.8.0pod NERtcSDK, 5.6.50#rtc基础SDK pod NEChatUIKit#呼叫组件API组件 pod NE…...

连接关键点:使用 ES|QL 联接实现更丰富的可观测性洞察

作者&#xff1a;来自 Elastic Luca Wintergerst ES|QL 的 LOOKUP JOIN 现已进入技术预览阶段&#xff0c;它允许你在查询时对日志、指标和追踪进行丰富处理&#xff0c;无需在摄取时进行非规范化。动态添加部署、基础设施或业务上下文&#xff0c;减少存储占用&#xff0c;加速…...