【Axure教程】根据标签数自动调整尺寸的多选下拉列表

news2024/10/7 12:17:42

​多选下拉列表常用于需要用户从一组选项中选择多个选项的情况。它提供了一个下拉菜单,用户可以点击展开并选择他们感兴趣的多个选项。多选下拉列表可以用于展示可选标签,并允许用户选择多个标签。例如,在一个博客发布界面上,可以使用多选下拉列表选择适用的标签。

所以今天就教大家在Axure里如果用中继器制作一个多选下拉列表,并且根据已选项自动生成标签的原型模板。

一、效果展示

1、点击下拉列表框可以弹出选项,点击选项可以选中选项或者取消选中

2、根据已选内容自动显示对应的标签,并且根据标签数量自动调整下拉框的尺寸

3、取消选中时,对应标签自动删除,也可以点击标签里的删除按钮删除并取消选中

4、选项信息可以在中继器表格里维护,选项较多时,可以通过滚动条上下查看选项。

【原型预览】

https://axhub.im/ax9/09b38389df30358f/#g=1&p=根据标签数自动调整尺寸

【原型下载】

方式1:加入原型分享群后,可免费分享该原型,请咨询微信522073109

方式2:https://weidian.com/item.html?itemID=3566743034

二、制作教程

1、用中继器制作选项

我们新增一个中继器,在中继器里添加文本标签,背景矩形,以及多选按钮,这里我们因为想自定义多选按钮的样式,所以我们没有用系统多选按钮,我们用动态面板来制作,增加两个状态,一个是未选中状态,一个是选中的状态,分别导入选中和未选中的多选按钮的素材。当然你们也可以用系统的多选按钮来制作,分别将他们放入两个状态里,但是需要用个热区挡住他,因为后续是否选中是通过中继器里的值控制的,并不是通过点击直接改变的。如下图所示摆放:

中继器表格里我们增加两列:

text列:在该列添加选项名,有几个选项就填写几行

xuanzhong列:用来控制对应行的选项是否被选择,一般如果默认没有选中项的话,不填即可,如果项默认某个选项选中,就在该选项xuanzhong列的值填写1

在中继器每项载入时,我们首先用设置文本的交互,将text列选项的值设置到文本标签里。

然后我们还要根据xuanzhong列的值来设置动态面板是选中还是未选中的状态。如果xuanzhong列的值等于1,那么我们用将动态面板设置到选中状态;如果不等于1,我们就设置到未选中的状态,不过这里不等于1的情况可以不用写,因为他默认就是未选中的状态。

2、鼠标单击选项时的交互

鼠标单击选项时,我们要根据判断该选项是否已经被选中,如果已被选中,我们就将他设置为未选中,因为控制他是否选中是通过中继器里选中列的值来控制的,所以我们用更新行的交互,将中继器里xuanzhong列的值更新为0即可;如果未被选中,我们就将他设置为选中,用更新行的交互,将中继器里xuanzhong列的值更新为1即可。

3、将中继器转为动态面板

这样我们就基本完成了下拉选项,如果选项较多,这个选项就会很常,所以我们把它转为动态面板,取消面板自适应尺寸,并且调出垂直滚动条,这样就可以控制显示选项的尺寸,在选项较多时,还可以上下滚动查看更多选项。

如果觉得系统的滚动条不太好看的话,我们还可以通过再次转为动态面板,然后用外面板遮挡住大部分或全部内面板的滚动条,这样去美化一下。

然后我们在底部增加一个背景矩形,将他们组合在一起,这样下拉选项就做好了

4、下拉框的制作

下拉框我们需要用到矩形,上下箭头,以及中继器标签组

鼠标单击这个组合时,我们用显示的交互,将下拉选项显示出来,这个我们可以选择灯箱效果,这样点击其他空白的地方,下拉选项就可以自动收起来

当然我们也可以增加一些交互样式让他更加美化,增加矩形选中和禁用样式,鼠标移入移出或者下拉选项显示隐藏时,触发这些样式,因为每个人审美不一样,这些你们自行处理即可。

4、中继器标签组

前面说到下拉框组合里需要有一个中继器标签组,我们现在来制作

需要再中继器里增加背景矩形,文字标签和删除按钮,文字标签我们转为动态面板,因为考虑到有些选项太长,我们就自显示前面部分即可。如下图所示摆放即可

中继器表格里不需要修改,用自带的Column0列即可,默认中继器表格为空。中继器布局为水平,按网格排布,案例中是每行项目数是2。

在中继器每项加载时,我们用设置文本的交互,将Column0列的值设置到文本标签里

这样标签组就只做完成了。

5、选项和标签的联动

接下来我们要让选项和标签进行联动,在选项中继器里,该选项被选中,我们就用添加行的交互,将该选项的选项值增加的标签中继器里。这里需要注意的是,因为中继器每次更新都会从头加载,所以在一开始如果直接添加行的话,选第二个选项之后,就会发现之前第一次添加的标签,重复添加了。所以我们在一开始的时候,要对标签中继器做一个还原的操作,我们可以用删除所有行的方式,让选中之前的标签中继器处于一个原始为空的状态。

我们要删除标签的话,我们也不是用删除行的方式,删除标签里对应的行。因为我们是通过下拉选项中继器里的值来控制具体显示的标签,所以如果我们想让标签删除,我们就用更新行的交互,将和标签名称一样的行的xuanzhong列的值更新为0,这样就可以把标签删除。

这样我们就基本完成了,但是我们还需要考虑标签太多的情况

6、设置下拉框的尺寸

我们可以根据标签中继器的尺寸,来设置外框的尺寸。

当所有标签加载完成后,我们用设置尺寸的交互,首先设置下拉框的尺寸,宽度保持不变,高度就是标签组的高度+上下的边距,这样就可以外框就可以变高。

同事我们还要用移动的事件,移动下拉选项组合,移动到下拉框的底部,这样就可以根据标签的多少,自动调整下拉框的尺寸。

这样我们就完成了多选下拉列表(自动生成标签)原型模板的制作了,下次使用也很方便,我们只需要在下拉选项中继器表格里填写选项值,即可自动生成交互效果。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Flutter】如何在 Flutter 中获取设备 ID

文章目录 一、 前言二、 设备 ID 的重要性1. 什么是设备 ID2. 设备 ID 的作用 三、 在 Flutter 中获取设备 ID1. 需要的工具和库2. 简单代码示例3. 完整可以运行的代码 四、 注意事项1. 权限问题2. 设备兼容性问题 五、 总结 一、 前言 在移动应用开发中,有时我们需…

飞书小程序开发教程——获取app_access_token

前言 最近在玩飞书小程序,真是受够了某信的小程序,一坨坨的限制加恶心人的手段。体验了飞书加飞书文档的功能真的还是飞书好用,又可以定制机器人啥的真方便。 但是飞书除了开发者文档真没啥资料,估计没啥人写吧…本专栏后续就慢慢…

DVPP媒体数据处理视频编码问题案例

DVPP(Digital Vision Pre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力,主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于DVPP视频编码问题…

未磁科技全球首台64通道无液氦心磁图仪及首个培训基地落户北京安贞医院

【全球首台64通道无液氦心磁图仪在北京安贞医院举行开机仪式】 近日,在北京安贞医院举行了未磁科技全球首台64通道无液氦心磁图仪开机仪式,中国医学装备协会赵自林理事长、北京安贞医院纪智礼书记、张宏家院长、宋现涛教授,以及未磁科技蔡宾…

【离散化+枚举】代码源每日一题div2 全部相等

全部相等 - 题目 - Daimayuan Online Judge 题意: 思路: 首先,子序列最长,想到了DP,但是子序列DP,D不出来,所以要放弃想法 不难发现,这道题和顺序没有关系,所以可以说…

Vision Pro,难成初代iPhone

“一个全新的增强显示平台,一个革命性的新产品”,这是苹果CEO库克给Apple Vision Pro的评价。 当苹果拿出Vision Pro时,想必整个科技行业都感到震惊。这不仅是因为苹果时隔十六年后,再次在WWDC带来“革命性产品”,更是…

Ai 赋能|这 6 款免安装的工具,功能超神~

今天小呆给小伙伴们分享几款小巧好用的工具,功能非常实用,而且全都免费,值得大家使用! 1、Pix Fix 修复画质损坏的图像 Pix Fix 是一个免费的线上图片工具,可以对过度压缩造成损毁的图片以算法为基础进行噪点的修复&…

【枚举+数学】代码源每日一题div2 数学

数学 - 题目 - Daimayuan Online Judge 题意: 思路: 首先把条件理一下 gcd(s1,s2)K 按照惯用套路 设 s1k1*K s2k2*K 那么就是(k1k2)*Ksum 所以K是sum的一个因子 因此只需要枚举sum的因子即可 但是注意数据范围:1e9 说明不能直接枚…

MySQL数据库加密

有时候为防止别人攻击数据库,直接读取修改数据,我们会对数据库数据进行加密。 一:AES_ENCRYPT(需要加密的数据,密钥) AES_DECRYPT(需要解密的数据,刚才的密钥) 如:update area set jiamiAES_ENCRYPT(test数据加密,miyao) where …

Python基础知识掌握之 字符串格式化

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 为了确保字符串按预期显示,我们可以使用 format() 方法对结果进行格式化。 字符串 format() format() 方法允许您格式化字符串的选定部分。 有时文本的一部分是你无法控制的,也许它们来自数据…

分享几个免费设计生成工具 (第二期)

今天来给大家分享几个国外免费的设计生成工具 A. Tools https://www.a.tools/ 一个免费实用的在线工具箱,提供了 85 个特色工具,包含图形图像、日期和时间、文本编辑器、解密和加密、编程与设计、图表生成器等等,还有热门的 AI聊天提示生成器…

freemarker学习记录

freemarker 介绍 FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库&#xff0c…

electron 生命周期

生命周期事件: reday: app初始化完成dom-ready:一个窗口的文本加载完成,可以进行dom操作did-finish-load: 导航完成时触发,选项卡旋转器停止旋转时(发生在dom-ready后)比如点击一个选项卡后,某一个选项下的dom加载完成…

基于zustand维护的一套跨框架(react/vue)跨应用的状态管理及共享方案

zustand-pub 只要从事前端开发,不论是小程序还是web,都绕不开状态管理。 众所周知, zustand 是一套轻量、便捷、可拓展的状态管理方案,不论国内 or 国外,都备受喜爱,star 数已接近 3W。 而 zustand-pub 则…

ThreadLocal源码深度详解

文章目录 一、ThreadLocal简单使用二、ThreadLocal源码详解1、set方法(1)getMap(t)(2)createMap 2、get方法3、setInitialValue方法 三、ThreadLocalMap详解1、ThreadLocalMap为什么要设置Entry数组2、key计算的下标会重复吗&…

华为OD机试真题 JavaScript 实现【查找两个字符串a,b中的最长公共子串】【牛客练习题】

一、题目描述 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。 注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开! 数据范围…

C语言第三课-----------加油 加油 加油

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com 目录 数组 操作符 常见关键字 ________________________________________ 紧接上一课,上一篇博客我已经简单介绍了变量的作用域和生命周期,常量,字符串转义字符注释,选择语句,循环语句,函数这些下面…

二叉树题目:二叉树的前序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的前序遍历 出处:144. 二叉树的前序遍历 难度 3 级 题目…

k8s master组件无法重启

1.案例 k8s的master组件出错,删掉pod重新拉起也无法正常启动 kubectl get pod -n kube-system 可以看到controller和scheduler组件都显示异常 kubectl describe pod kube-apiserver-k8s-master03 -n kube-system 通过describe查看组件容器的详细信息也并没有报错…

SpringBoot接口加密解密工具

介绍(项目源码见文末!!!!!!) 在软件项目开发过程中,当需要对后端返回数据进行加密,或者前段向后端发送的数据时加密后的数据,那么在接收前就需要…