Skip to content

UIDropDownBox

继承自:

描述

UI下拉框组件。提供下拉选择功能,用户可以从预定义的选项列表中选择一个值

属性

ColorQuadTitleColor
下拉框文本颜色。RGBA格式,控制下拉框显示文本的颜色和透明度
intTitleFontSize
下拉框文本字体大小。控制下拉框显示文本的字体大小,取值范围:1-120,默认18
intSelectedIndex
当前选中的选项索引。控制下拉框当前选中的选项,从0开始计数,-1表示未选中,默认值为-1

成员函数

获取下拉框当前选中项的value值。返回当前选中选项对应的value值,如果没有选中项则返回空字符串
获取下拉框当前选中项的key值。返回当前选中选项对应的key值,如果没有选中项则返回空字符串
向下拉框添加一个带value值的选项。同时设置选项的显示文本和对应的值
intAddItem (string item)
向下拉框添加一个选项。添加选项时value值默认为空字符串
voidRemoveItem (int index)
通过索引移除下拉框中的指定选项。移除指定索引位置的选项,后续选项的索引会自动调整
通过索引获取下拉框中item的key值。根据索引获取对应item的key值
通过索引获取下拉框中item的value值。根据索引获取对应item的value值
通过item的key值查找对应的索引。根据item的key值查找其在列表中的索引位置

事件

选项索引切换事件。当下拉框选中的选项发生变化时触发

代码示例

lua
-- 创建UI根节点
local root = SandboxNode.new("UIRoot", game.WorkSpace)
root.Name = "uiroot"

-- 创建下拉框
local dropdown = SandboxNode.new("UIDropDownBox", root)
dropdown.Name = "dropdown"
dropdown.Size = Vector2.new(200, 50)
dropdown.Position = Vector2.new(100, 100)
dropdown.TitleColor = ColorQuad.new(0, 0, 0, 255)
dropdown.TitleFontSize = 18

-- 添加选项
dropdown:AddItemWithValue("选项1", "value1")
dropdown:AddItemWithValue("选项2", "value2")
dropdown:AddItemWithValue("选项3", "value3")
dropdown:AddItem("选项4")  -- 没有value值

-- 设置默认选中项
dropdown.SelectedIndex = 0

-- 绑定选择变化事件
dropdown.SelectIndexChange:Connect(function(node, newIndex)
    print("选中项索引变化为: " .. newIndex)
    -- 获取当前选中的文本和值
    local selectedText = dropdown:GetItem()
    local selectedValue = dropdown:GetValue()
    print("选中的文本: " .. selectedText)
    print("选中的值: " .. selectedValue)
end)

-- 通过索引获取选项信息
local itemText = dropdown:GetItemByIndex(1)  -- 获取索引1的文本
local itemValue = dropdown:GetValueByIndex(1)  -- 获取索引1的值
print("索引1的文本: " .. itemText)
print("索引1的值: " .. itemValue)

-- 通过文本查找索引
local index = dropdown:GetIndexByItem("选项2")
print("选项2的索引: " .. index)

-- 移除选项
dropdown:RemoveItem(3)  -- 移除索引3的选项

-- 动态添加新选项
local newIndex = dropdown:AddItemWithValue("新选项", "new_value")
print("新添加选项的索引: " .. newIndex)