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%') 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
分享
微博
QQ
微信
回复
2024-06-04 21:29:13
相关问题
JS 获取控件位置并动态赋值的问题
4680浏览 • 1回复 待解决
js api 中select组件如何使用
7719浏览 • 2回复 已解决
HarmonyOS checkbox复选框使用选择问题
568浏览 • 1回复 待解决
HarmonyOS select控件高度
598浏览 • 1回复 待解决
HarmonyOS 定义对象赋值错误
711浏览 • 1回复 待解决
HarmonyOS Select组件的背景色如何设置
600浏览 • 1回复 待解决
HarmonyOS ArkTS select组件如何设置默认值
1057浏览 • 1回复 待解决
怎么获取select选中的值
8484浏览 • 1回复 待解决