Select下拉选框SelectOption如何动态赋值?

Select下拉选框SelectOption如何动态赋值?

HarmonyOS
2024-06-03 21:58:15
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

定义一个Array<SelectOption>类型的数据,往数组中push类型为SelectOption的值,将数组作为Select的参数。

代码如下:

class Data{ 
  value: string 
  icon: Resource 
 
  constructor(value: string, icon: Resource) { 
    this.value= value; 
    this.icon= icon; 
  } 
} 
 
// xxx.ets 
@Entry 
@Component 
struct SelectExample { 
  @State text: string = "下拉菜单展示" 
  @State index: number = 2 
  @State space: number = 8 
  @State arrowPosition: ArrowPosition = ArrowPosition.END 
  @State arr: Array<SelectOption> = [new Data('数据0',$r("app.media.startIcon"))]; 
  private  count:number =0; 
 
  build() { 
    Column({space: 20}) { 
      Button('添加数据').onClick((event: ClickEvent) => { 
        this.count++; 
        this.arr.push(new Data('数据'+this.count,$r("app.media.startIcon"))) 
      }) 
      Select(this.arr) 
        .selected(this.index) 
        .value(this.text) 
        .font({ size: 16, weight: 500 }) 
        .fontColor('#182431') 
        .selectedOptionFont({ size: 16, weight: 400 }) 
        .optionFont({ size: 16, weight: 400 }) 
        .space(this.space) 
        .arrowPosition(this.arrowPosition) 
        .menuAlign(MenuAlignType.START, {dx:0, dy:0}) 
        .optionWidth(200) 
        .optionHeight(300) 
        .onSelect((index:number, text?: string | undefined)=>{ 
          console.info('Select:' + index) 
          this.index = index; 
          if(text){ 
            this.text = text; 
          } 
        }) 
 
    }.width('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-06-04 21:29:13
相关问题
JS 获取控件位置并动态赋值的问题
2485浏览 • 1回复 待解决
js api 中select组件如何使用
5659浏览 • 2回复 已解决
怎么获取select选中的值
6073浏览 • 1回复 待解决
如何使用Swiper组件实现下拉刷新
162浏览 • 1回复 待解决
有谁知道web组件如何下拉刷新
549浏览 • 1回复 待解决
按钮内子控件如何动态更新
383浏览 • 1回复 待解决
Canvas绘制内容如何动态更新
389浏览 • 1回复 待解决
鸿蒙js 如何使用动态style
6053浏览 • 1回复 待解决
如何通过JS动态引入页面?
1336浏览 • 1回复 待解决
如何动态设置组件属性的值
345浏览 • 1回复 待解决
Text 组件如何渲染图文动态混排
440浏览 • 1回复 待解决
ArkUI如何通过代码动态创建组件
912浏览 • 1回复 待解决
如何动态根据资源名获取资源id
7208浏览 • 1回复 已解决
如何动态访问media目录下的资源
739浏览 • 1回复 待解决
是否支持模块的动态加载?如何实现
761浏览 • 1回复 待解决