控件:ComboBox 下拉框

一共有 10 种属性:控件类型 type、控件 ID id、可选项标题 list、默认选中项编号 select、两个 ComboBox 控件建立数据关联时的下级选项 data、两个 ComboBox 控件建立数据关联时的上级数据源名称 source、两个 ComboBox 控件建立数据关联时的下级数据源名称 dataSource、点击提示 prompt、控件宽度 width、控件是否换行 nowrap

主选项下拉框

参数 类型 必填 说明 默认值
type string 控件类型:ComboBox -
id string 为控件指定 ID,可以理解为控件的名称,
在返回类型为 table 时将作为返回 table 中的 key,
控件ID 以 table 格式返回返回值时必填,否则无法获取返回值
-
list string 文字选项,多个可选项之间用英文半角逗号分割 -
select string 默认选项编号,只允许填写一个,序号从 0 开始,
与可选项标题中的顺序保持一致
"0"
data string 关联项 ,下拉框子选项内容 -
source string 标志名,主选项下拉框控件 source 属性必须
与子选项下拉框的 dataSource 属性一致
-
prompt boolean 点击提示,默认为 false - 不弹点击提示,true - 弹点击提示
,仅支持引擎版本 Android v3.1.3 及 iOS v3.0.6 及其以上版本。
"false"
width number 控件宽度,当 showUI 全局属性 style 为 default 时,
如需将多个控件放入同一行显示,可用此属性调整控件宽度。
仅支持引擎版本 iOS v2.2.6, Android v1.2.4 及其以上版本;
-1 为自适应屏幕,0 为占用整行,
大于等于 1 按照数字设置宽度,不填默认占整行,
-1、0、及大于等于 1 参数仅支持
Androidv3.2.0、iOSv3.1.5 以及以上版本。
0
nowrap number 控件是否换行,当此属性为 1 时,
将指定下一个控件不换行,用于将多个控件放入一行显示。
仅支持引擎版本 iOS v2.2.6, Android v1.2.5 及其以上版本。
0

子选项下拉框

参数 类型 必填 说明 默认值
type string 控件类型:ComboBox -
id string 为控件指定 ID,可以理解为控件的名称,
在返回类型为 table 时将作为返回 table 中的 key,
控件ID 以 table 格式返回返回值时必填,否则无法获取返回值
-
select string 默认选项编号,只允许填写一个,序号从 0 开始,
与可选项标题中的顺序保持一致
"0"
dataSource string 两个 ComboBox 控件建立数据关联时的下级数据源名称,
主选项下拉框控件 source 属性必须与
子选项下拉框的 dataSource 属性一致
-
prompt boolean 点击提示,默认为 false - 不弹点击提示,true - 弹点击提示,
仅支持引擎版本 Android v3.1.3 及 iOS v3.0.6 及其以上版本。
"false"
返回值 类型 说明
id 字符串 根据控件 ID 返回选择选项的内容,"0" 表示选择了第一个选项,"1" 表示选择了第二个选项,以此类推

函数用例

local ts = require("ts")
local cjson = ts.json
w,h = getScreenSize();
MyTable = {
    ["style"]  = "default",    
    ["width"] = w,          
    ["height"] = h,            
    ["cancelname"] = "取消",  
    ["okname"] = "开始", 
    ["title"] = "居中自定义字号",
    ["titlealign"] = "center",
    ["align"] = "center",
    ["titlesize"] = 12,  
    ["titles"] = "下拉框,第二页", 
    ["pagetype"]= "multi",  
    ["selpage"] = 1,   
    ["orient"] = 0, 
    ["btnbkcolor"] = "255,255,255",         
    ["bgcolor"] = "255,255,255",
    ["pagenumtype"] = "tab", 
    ["config"] = "showuiTest1.txt",  
    ["timer"] = 99,  
    ["rettype"] = "table",   
    pages            =
    {
        {
            {
                ["type"] = "Label",
                ["text"] = "点击右上角闹钟关闭倒计时↗",
                ["size"] = 20,
                ["align"] = "center",
                ["color"] = "255,0,0",
            },
            {
                ["type"] = "Label",
                ["text"] = "二级下拉框-ComboBox",
                ["size"] = 20,
            },
            {
                ["type"] = "ComboBox",         -- 必填,控件类型,下拉框
                ["id"] = "cb2",                             
                -- 选填,无,控件ID 以 table 格式返回返回值时必填,否则无法获取返回值
                ["list"] = "北京,上海",          -- 必填,无,下拉框内容
                ["select"] = "0",              -- 选填,0,默认选中项 ID
                ["data"] = "北京1,北京2#"..
                "上海1,上海2",
                ["source"] = "这里必须一致",                      
                --  必填,无,主选项下拉框控件 source 属性必须与子选项下拉框的 dataSource 属性一致
                ["prompt"] = true,
            },
            {
                ["type"] = "ComboBox",       -- 必填,控件类型,下拉框
                ["id"] = "cb3",                             
                -- 选填,无控件 ID,以 table 格式返回返回值时必填,否则无法获取返回值
                ["select"] = "0",                           
                -- 选填,无,子选项下拉框默认选中项
                ["dataSource"] = "这里必须一致",            
                --必填,无,主选项下拉框控件 source 属性必须与子选项下拉框的 dataSource 属性一致
                ["prompt"] = true,
            },

        }
    }   
}
local MyJsonString = cjson.encode(MyTable);
UIret,values = showUI(MyJsonString)
if UIret == 1 then
    local cb2 =  values.cb2
    local  cb3 =  values.cb3
    if cb2 == "0" and cb3 == "0" then
        dialog("北京".."\r\n".."北京1")  
    elseif cb2 == "0" and cb3 == "1" then
        dialog("北京".."\r\n".."北京2") 
    elseif cb2 == "1" and cb3 == "0" then    
        dialog("上海".."\r\n".."上海1")
    elseif cb2 == "1" and cb3 == "1" then    
        dialog("上海".."\r\n".."上海2")
    end
end

注意事项

  • 默认选中项编号 select 只允许填写一个,序号从 0 开始(此控件需引擎版本 iOS v2.1.3 以上支持)。

  • 上一级的必须要有 data 数据给下级使用,而且 list 里面逗号分割的个数必须要和 data 里面 # 号分割的个数保持一致,上一级的 source 和下一级的 dataSource 要保持一致。

  • 使用了 dataSource 就不可以使用 list(data、source、dataSource 属性需引擎版本 iOS v2.1.8, Android v1.2.4 以上版本支持)。

  • 示例中 cb2 和 cb3 是控件ID,根据控件 ID 获取选择的控件。

  • width 为 -1 时安卓根据此行控件数量平分屏幕宽度,iOS 是根据文字长度显示宽度。

Copyright 北京帮你玩科技有限公司 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-06 17:50:18

results matching ""

    No results matching ""