控件:ComboBox 下拉框

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

主选项下拉框

参数 类型 字段 说明
type string 必填 控件类型:ComboBox
id string 选填 为控件指定 ID,可以理解为控件的名称,
在返回类型为 table 时将作为返回 table 中的 key,
控件ID 以 table 格式返回返回值时必填,否则无法获取返回值
list string 必填 文字选项,多个可选项之间用英文半角逗号分割
select string 选填 默认选项编号,只允许填写一个,序号从 0 开始,
与可选项标题中的顺序保持一致
data string 选填 关联项 ,下拉框子选项内容
source string 选填 标志名,主选项下拉框控件 source 属性必须
与子选项下拉框的 dataSource 属性一致
prompt boolean 选填 点击提示,默认为 false - 不弹点击提示,true - 弹点击提示
,仅支持引擎版本 Android v3.1.3 及 iOS v3.0.6 及其以上版本。

子选项下拉框

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

脚本示例:

local ts = require("ts")
local cjson = ts.json
w,h = getScreenSize();
MyTable = {
    ["style"]  = "default",            --  选填,默认样式,控件排列类型
    ["rettype"] = "table",              
    --  选填,旧版,showUI 返回值格式
    ["width"] = w,          
    --  选填,安卓默认全屏,iOS 默认,showUI 宽度
    ["height"] = h,             --  选填,安卓默认全屏,iOS 默认,showUI 高度
    ["config"] = "showuiTest1.txt",  --  选填,无,配置文件保存文件
    ["timer"] = 99,                 --  选填,无,自动执行倒计时
    ["orient"] = 0,                 --  选填,竖屏,显示方向(仅支持 iOS)
    ["pagetype"]= "multi",                  
    --  选填,单页,单页/多页 (多页显示时必填,否则无法正确显示 showUI)
    ["title"] = "触动精灵脚本 UI 演示",--  选填,脚本配置,showUI 标题
    ["titles"] = "第一页,第二页,第三页", 
    --  选填,无,多页 showUI 标题(仅在多页下有效)
    ["cancelname"] = "取消",      --  选填,取消,左下角按钮名称
    ["okname"] = "开始",          --  选填,确认,右下角按钮名称
    ["selpage"] = 1,              --  选填,无,多页模式下指定默认停留的页面
    ["btnbkcolor"] = "255,255,255",         
    --  选填,255,255,255,底部按钮背景色(仅支持 iOS)
    ["bgcolor"] = "255,255,255",  --  选填,255,255,255,界面背景色(仅支持 iOS)
    ["pagenumtype"] = "number",  --  选填,无,分页指示样式    
    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 获取选择的控件。

Copyright 北京帮你玩科技有限公司 2020 all right reserved,powered by Gitbook该文章修订时间: 2020-03-16 11:30:27

results matching ""

    No results matching ""