说明
相当于 HTML 中的 <select> 标签,如下图:
接口
Select(options: Array<SelectOption>)
参数
- options:类型:
Array<SelectOption>,必填,设置下拉选项。
SelectOption对象
属性
value:类型:ResourceStr,必填,下拉选项内容。
icon:类型:ResourceStr,下拉选项图片。
例子
Select([
{ value: '北京' },
{ value: '黑龙江' },
{ value: '吉林' },
])
.font({ size: 20})
方法
设置默认选中索引
设置下拉菜单初始选项的索引,第一项的索引为 0 。当不设置selected 属性或设置异常值时,默认选择值为 -1,菜单项不选中;当设置为 undefined、null 时,选中第一项。
从API version 10开始,该参数支持 $$ 双向绑定变量,详见 链接。
selected(value: number | Resource)
参数
- value:类型:
number | Resource,必填,下拉菜单初始选项的索引。
提示
如下图,只设置 select() 方法,显示菜单时,才会显示默认选中项(如:紫色框),控件本身是空白的(如红框)
例子
Select([
{ value: '北京' },
{ value: '黑龙江' },
{ value: '吉林' },
])
.selected(0) // 默认选中第一项
// .value('北京')
.font({ size: 20})
设置默认选中显示的值
设置下拉按钮默认显示的文本内容。当菜单选中时默认会替换为菜单项文本内容。
从API version 10开始,该参数支持 $$ 双向绑定变量,详见 链接。
value(value: ResourceStr)
参数
- value:类型:ResourceStr,必填,下拉按钮本身的文本内容。
提示
如下图:只设置 value() 方法,那么控件本身会显示内容(如红框),展开菜单时,不会显示默认选中项(如:紫框)
例子
Select([
{ value: '北京' },
{ value: '黑龙江' },
{ value: '吉林' },
])
.value('北京')
.font({ size: 20})
例子2
如果 value() 设置的是不存在的值,也会正常显示,如下图:海南 就不在列表中,但仍然会正常显示
Select([
{value:"北京"},
{value:"黑龙江"},
{value:"吉林"}
])
.value("海南") // 设置默认值,会显示到控件本身
selected 和 value 同时设置
如果有 默认选中 的值,那么 selected() 和 value() 都要设置
bug
如果 selected() 设置默认值,与 value() 设置的默认值,不一致,就会出现bug,如下图:
Select([
{
value:"北京"
},
{
value:"黑龙江"
},
{
value:"吉林"
}
])
.selected(10) // 索引值,从0开始,1表示第二项黑龙江
.value("海南") // 设置默认值,会显示到控件本身
其他方法
详见官网 链接
案例
const ADDRS:Array<SelectOption> = [
{ value: '北京' },
{ value: '黑龙江' },
{ value: '吉林' },
]
@State addrIndex:number = 0
@State addrText:string = "北京"
Select(ADDRS)
.selected($$this.addrIndex) // 双向绑定
.value($$this.addrText) // 双向绑定
.font({ size: 20})





