HarmonyOS Select组件的箭头图标是否可以使用自定义图形

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以使用浮层覆盖原有箭头图标,示例如下:

@Entry
@Component
struct SelectExample {
  @State text: string = "请选择"
  @State index: number = 2
  @State space: number = 8
  @State arrowPosition: ArrowPosition = ArrowPosition.END
  @Builder OverlayNode() {
    Column() {
      Image($r('app.media.heart_fill'))
    }.width(20).height(20).alignItems(HorizontalAlign.Center)
  }
  @Styles clickedStyles():void {
    .backgroundColor(Color.Transparent)
  }
  build() {
    Column() {
      Select([{ value: 'aaa',  },
        { value: 'bbb',  },
        { value: 'ccc',  },
        { value: 'ddd', }])
        .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)
        .overlay(this.OverlayNode(), {
          align: Alignment.Bottom,
          offset: { x: -35, y: -10 }
        })
        .stateStyles({
          clicked: this.clickedStyles,
        })
        .arrowPosition(ArrowPosition.START)
        .onSelect((index:number, text?: string | undefined)=>{
          console.info('Select:' + index)
          this.index = index;
          if(text){
            this.text = text;
          }
        })
    }.width('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
CounterComponent样式是否可以自定义
258浏览 • 1回复 待解决
HarmonyOS Checkbox如何自定义图标
402浏览 • 0回复 待解决
返回按钮是否可以自定义事件?
257浏览 • 1回复 待解决
自定义组件onMeasureSize使用
440浏览 • 1回复 待解决
HarmonyOS 组件是否支持自定义事件
35浏览 • 1回复 待解决
是否可以自定义权限弹框文字
1724浏览 • 1回复 待解决
Grid组件scrollBar是否支持自定义
2235浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人