第九节HarmonyOS 常用基础组件28-Select

1、描述

提供下拉选择菜单,可以让用户在多个选项之间选择。

2、接口

Select(options:Array<SelectOption>)

3、SelectOption对象说明

参数名

参数类型

必填

描述

value

ResourceStr

下拉选项内容。

icon

ResourceStr

下拉选项图标。

4、属性

名称

参数类型

描述

selected

number

设置下拉菜单初始选项的索引,第一项的索引为0。当不设置selected属性时,默认选择值为-1,即菜单项不选中。

value

string

设置下拉按钮本身的文本内容。当菜单选中时默认会替换为菜单项文本内容。

font

Font

设置下拉按钮本身的文本样式。默认值:{size:‘16fp’,weight:FontWeight.Medium}

fontColor

ResourceColor

设置下拉按钮本身的文本颜色。默认值:‘#E6FFFFFF’

selectedOptionBgColor

ResourceColor

设置下拉菜单选中项的背景颜色。默认值:‘#33007DFF’

selectedOptionFont

Font

设置下拉菜单选中项的文本样式。默认值:{size:‘16fp’,weight:FontWeight.Regular}

selectedOptionFontColor

ResourceColor

设置下拉菜单选中项的文本颜色。默认值:‘ff007dff’。

optionBgColor

ResourceColor

设置下拉菜单项的背景颜色。默认值:‘ffffffff’。

optionFont

Font

设置下拉菜单项的文本样式。默认值:{size:‘16fp’,weight:FontWeight.Regular}

optionFontColor

ResourceColor

设置下拉菜单项的文本颜色。默认值:‘ff182431’。

5、事件

名称:onSelect(callback:(index:number, value?:string) => void)

功能描述:下拉菜单选中某一项的回调。index:选中项的索引;value:选中项的值。

6、示例

import router from '@ohos.router'

@Entry
@Component
struct SelectPage {
  @State message: string = '提供下拉选择菜单,可以让用户在多个选项之间选择。'
  @State selectList: Array<SelectOption> = [
    {
      value: "Android",
      icon: $r('app.media.icon')
    },
    {
      value: "Java",
      icon: $r('app.media.icon')
    },
    {
      value: "Python"
    },
    {
      value: "HarmonyOS"
    },
  ]

  build() {
    Row() {
      Scroll() {
        Column() {
          Text(this.message)
            .fontSize(20)
            .fontWeight(FontWeight.Bold)
            .width("96%")

          Select(this.selectList)
            .value("请选择您的职业?")
            .font({ size: 18, weight: FontWeight.Bold })
            .fontColor("#FF00FF")
            .selectedOptionBgColor(Color.Blue)
            .selectedOptionFontColor(Color.White)
            .optionBgColor(Color.Yellow)
            .optionFontColor(Color.Red)
            .onSelect((index: number, value: string) => {
              console.log("select", "index = " + index);
              console.log("select", "value = " + value);
            })

          Button("Select文本文档")
            .fontSize(20)
            .backgroundColor('#007DFF')
            .width('96%')
            .onClick(() => {
              // 处理点击事件逻辑
              router.pushUrl({
                url: "pages/baseComponent/select/SelectDesc",
              })
            })
            .margin({ top: 20 })

        }
        .width('100%')
      }
    }
    .padding({ top: 12, bottom: 12 })
  }
}

7、效果图

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yyxhzdm

你的鼓励是我创作的最大动力!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值