【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语言题解:矩阵主、反对角线元素之和,二分法求方程根,处理字符串中 * 号
目录 一、程序填空📝 --- 矩阵主、反对角线元素之和 题目📃 分析🧐 二、程序修改🛠️ --- 二分法求方程根 题目📃 分析🧐 三、程序设计💻 --- 处理字符串中 * 号 题目…...
利用 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解法)
难度:简单 给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。 0 < i < j < k < arr.length|arr[i] - arr[j]| &l…...
BUU27 [SUCTF 2019]CheckIn1
题目是上传文件 直接上传muma.jpg还不成功: 好吧,那做一个图片马上去,换马以后发现还是不行,呃啊啊啊啊 干啥啥不行,搜wp第一名,哎 新面孔:exif_imagetype 函数在 PHP 中用于检测一个文件是否为…...
unity学习30:Audio Source, Audio clip 音效和音乐
目录 1 音乐相关必须要有 Audio listener 和Source 2 Scene里必须要有 Audio listener 3 Audio Source 3.1 Audio Source 就是音源,可播放的音乐clip 分类 3.2 创建Audio Source 3.3 各种属性 3.4 3D sound Settings 4 使用脚本来播放声音 4.1 声明AudioC…...
【Qt 常用控件】输入类控件1(QLineEdit和QTextEdit 输入框)
目录 1.QLineEdit 单行输入框 例:输入个人信息,通过按钮提交 例:为输入框设置验证器,检查输入的电话 例:验证两次输入的密码是否一致 例:是否显示密码按钮,toggled信号。 2.QTextEdit多行输入框 、QPl…...
openEuler22.03LTS系统升级docker至26.1.4以支持启用ip6tables功能
本文记录了openEuler22.03LTS将docker升级由18.09.0升级至26.1.4的过程(当前docker最新版本为27.5.1,生产环境为保障稳定性,选择升级到上一个大版本26的最新小版本)。 一、现有环境 1、系统版本 [rootlocalhost opt]# cat /etc…...
深入解析:如何利用 Java 爬虫按关键字搜索淘宝商品
在电商领域,通过关键字搜索商品是常见的需求。无论是商家分析竞争对手,还是消费者寻找心仪的商品,获取搜索结果中的商品信息都至关重要。本文将详细介绍如何利用 Java 爬虫按关键字搜索淘宝商品,并提供完整的代码示例。 一、Java…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
