【Unity】 HTFramework框架(七十)MultiChoiceDropdown可多选的下拉菜单

更新日期:2026年8月10日。

Github 仓库:https://github.com/SaiTingHu/HTFramework

Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework

索引

一、MultiChoiceDropdown可多选的下拉菜单

众所周知Dropdown下拉菜单控件是不支持多选的,但多选的下拉菜单 在很多场景里是有需求的,所以MultiChoiceDropdown(可多选的下拉菜单)应运而生。

二、使用MultiChoiceDropdown

1.快捷创建MultiChoiceDropdown

首先,在Hierarchy窗口点击鼠标右键,通过菜单HTFramework -> UI -> MultiChoice Dropdown快捷创建一个MultiChoiceDropdown组件:

MultiChoiceDropdown与Dropdown基本一致,但前者并非继承至后者:

2.MultiChoiceDropdown的属性

MultiChoiceDropdown的属性如下:

Values:当前选中的选项(索引)。

Separator:当前选中的多个选项内容之间的间隔符。

MultiChoiceDropdown与Dropdown不同的主要就是如上两个属性,因为前者是多选,所以后者的属性value不再有效,前者有自己的方式来增加新的选中项。

3.增加选中项

使用索引来增加新的选中项(会与旧的选中项混合):

csharp 复制代码
		//按【索引】增加选中项:索引为0,1,2的三个选项
        dropdown.AddSelectionIndexs(new List<int>() { 0, 1, 2 });

在上一步基础上,也可使用内容来增加新的选中项(会与旧的选中项混合):

csharp 复制代码
        //按【内容】增加选中项:内容为C,D,E的三个选项
        dropdown.AddSelectionValues(new List<string>() { "C", "D", "E" });

4.移除选中项

使用索引来移除选中项:

csharp 复制代码
        //按【索引】移除选中项:索引为3,4的两个选项
        dropdown.RemoveSelectionIndexs(new List<int>() { 3, 4 });

也可使用内容来移除选中项:

csharp 复制代码
        //按【内容】移除选中项:内容为A的选项
        dropdown.RemoveSelectionValue("A");

5.清空所有选中项

使用如下方式清空所有选中项,以便于重新赋值:

csharp 复制代码
        dropdown.ClearIndexs();

6.Options可选项

Options可选项的管理方式与Dropdown基本一致,可在Inspector面板事先预制,也可通过代码动态添加:

csharp 复制代码
        //清空所有可选项
        dropdown.ClearOptions();
        //添加多个可选项
        dropdown.AddOptions(new List<string>() { "A", "B", "C", "D", "E" });
        //options:获取当前的所有可选项
        for (int i = 0; i < dropdown.options.Count; i++)
        { 
        
        }
相关推荐
淡海水3 小时前
02-06-原理篇-增量式GC与并发GC
算法·unity·c#·并发·gc·增量
阿松爱学习16 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
淡海水17 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
辻弋2015 天前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
Martina_03215 天前
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
人工智能·游戏·数学建模·3d·unity·自然语言处理·aigc
小贺儿开发5 天前
Unity 局域网遥控幻灯片展示工具 3.0
科技·http·unity·工具·ppt·通信·网页
WarPigs7 天前
Unity对象不应该使用null传播的问题
unity
每日出拳老爷子8 天前
【VR】【Unity】抓走转放系列21|一天搭完门和抽屉工具槽:小场景按这个次序拼装
unity·vr·驱动·排错·snap zone
淡海水9 天前
02-02-原理篇-分代GC
算法·unity·c#·游戏引擎·.net·gc
小贺儿开发9 天前
Unity 文物新生 会讲故事的文物展墙
人工智能·科技·unity·ai·视频·互动·演示