HarmonyOS Button组件无法触发获取焦点和失去焦点事件

// xxx.ets
@Entry
@Component
struct FocusEventExample {
  @State oneButtonColor: string = '#FFC0CB'
  @State twoButtonColor: string = '#87CEFA'
  @State threeButtonColor: string = '#90EE90'

  build() {
    Column({ space: 20 }) {
      // 通过外接键盘的上下键可以让焦点在三个按钮间移动,按钮获焦时颜色变化,失焦时变回原背景色
      Button('First Button')
        .backgroundColor(this.oneButtonColor)
        .width(260)
        .height(70)
        .fontColor(Color.Black)
        .focusable(true)
        .onFocus(() => {
          this.oneButtonColor = '#FF0000'
        })
        .onBlur(() => {
          this.oneButtonColor = '#FFC0CB'
        })
      Button('Second Button')
        .backgroundColor(this.twoButtonColor)
        .width(260)
        .height(70)
        .fontColor(Color.Black)
        .focusable(true)
        .onFocus(() => {
          this.twoButtonColor = '#FF0000'
        })
        .onBlur(() => {
          this.twoButtonColor = '#87CEFA'
        })
      Button('Third Button')
        .backgroundColor(this.threeButtonColor)
        .width(260)
        .height(70)
        .fontColor(Color.Black)
        .focusable(true)
        .onFocus(() => {
          this.threeButtonColor = '#FF0000'
        })
        .onBlur(() => {
          this.threeButtonColor = '#90EE90'
        })
    }.width('100%').margin({ top: 20 })
  }
}
HarmonyOS
2024-12-24 16:41:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

目前API可以使用defaultFocus(true)来设置当前组件是否为当前页面上的默认焦点,主动获焦/失焦使用focusControl中的方法requestFocus,而走焦需要按下TAB键来触发走焦,具体可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-common-events-focus-event-V5

分享
微博
QQ
微信
回复
2024-12-24 19:42:44
相关问题
HarmonyOS Image获取焦点失去焦点失效
123浏览 • 1回复 待解决
焦点事件onBlur/onFocus回调无法触发
2283浏览 • 1回复 待解决
HarmonyOS InputType失去焦点禁止交互
174浏览 • 1回复 待解决
ets的text input手动控制获得失去焦点
4854浏览 • 1回复 待解决
HarmonyOS 主动获取组件焦点
358浏览 • 1回复 待解决
HarmonyOS TextInput无法取消焦点
443浏览 • 1回复 待解决
HarmonyOS TextArea获取焦点
56浏览 • 1回复 待解决
如何判断音频焦点获取丢失?
6332浏览 • 1回复 待解决
HarmonyOS 输入框获取焦点无法弹出
233浏览 • 1回复 待解决
TextInput组件获取焦点的几种场景
3146浏览 • 1回复 待解决
HarmonyOS 主动获取焦点失败
478浏览 • 1回复 待解决