TextInput组件获取焦点的几种场景
2024-12-18 15:43:13
351次阅读
0个评论
场景一:TextInput主动获取焦点。 调用focusControl.requestFocus接口可以主动让焦点转移至参数指定的组件上。可参考如下代码:
// xxx.ets
@Entry
@Component
struct TextInputExample {
  build() {
    Row() {
      Column() {
        Button('第二个获取焦点')
          .onClick(() => {
            focusControl.requestFocus('BBB'); // 让第二个输入框获取焦点
          })
        TextInput({ placeholder: 'Please enter the content.' })
          .showUnderline(true)
          .width(380)
          .height(60)
          .key('AAA')
        TextInput({ placeholder: 'Please enter the content.' })
          .showUnderline(true)
          .width(380)
          .height(60)
          .key('BBB')
      }
      .width('100%')
    }
    .height('100%')
  }
}
场景二:页面初次构建完成时,使第二个TextInput获取默认焦点。 设置defaultFocus属性,defaultFocus可以使绑定的组件成为页面创建后首次获焦的焦点。可参考如下代码:
// xxx.ets
@Entry
@Component
struct TextInputExample {
  build() {
    Row() {
      Column() {
        TextInput({ placeholder: 'Please enter the content.' })
          .showUnderline(true)
          .width(380)
          .height(60)
        TextInput({ placeholder: 'Please enter the content.' })
          .showUnderline(true)
          .defaultFocus(true) // 页面首次打开时,该TextInput获取焦点
          .width(380)
          .height(60)
      }
      .width('100%')
    }
    .height('100%')
  }
}
场景三:页面初次构建完成时,使TextInput获取焦点且不弹出键盘。 设置enableKeyboardOnFocus(false),在页面进入后不弹出键盘。可参考如下代码:
// xxx.ets
@Entry
@Component
struct TextInputExample {
  build() {
    Row() {
      Column() {
        TextInput({ placeholder: 'Please enter the content.' })
          .defaultFocus(true) // 页面首次打开时,该TextInput获取焦点
          .enableKeyboardOnFocus(false) // TextInput通过点击以外的方式获焦时,是否绑定输入法。
          .placeholderColor(Color.Grey)
          .placeholderFont({ size: 14, weight: 400 })
          .caretColor(Color.Blue)
          .width('95%')
          .height(40)
          .margin(20)
      }
      .width('100%')
    }
    .height('100%')
  }
}
场景四:页面初次构建完成时,使TextInput不获取焦点且不弹出键盘。 TextInput默认不获取焦点,不弹出键盘。可参考如下代码:
// xxx.ets
@Entry
@Component
struct TextInputExample {
  build() {
    Column() {
      TextInput({ placeholder: 'Please enter the content.' })
    }
    .width('100%')
  }
}
00
- 1回答
- 0粉丝
- 0关注
相关话题
- 「Mac畅玩鸿蒙与硬件13」鸿蒙UI组件篇3 - TextInput组件获取用户输入
- 【HarmonyOS】输入框焦点控制实现键盘显隐和进入页面默认弹出键盘获取焦点设置
- HarmonyOS Next常用组件 TextInput
- 鸿蒙开发:loading动画的几种实现方式
- Context的典型使用场景
- 鸿蒙-验证码输入框的几种实现方式(上)
- 鸿蒙-验证码输入框的几种实现方式(下)
- OpenHarmony: 如何获取当前HAP的BundleName
- (七)HarmonyOS Design 的特点与应用场景
- 鸿蒙Next文本输入TextInput事件回调总结
- 68.Harmonyos NEXT 图片预览组件应用实践(一):相册与社交场景
- 100.HarmonyOS NEXT跑马灯组件教程:实际应用与场景示例
- 32.HarmonyOS NEXT NumberBox 步进器组件应用场景与基础实践
- 【HarmonyOS NEXT】EventHub和Emitter的使用场景与区别
- 如何获取状态管理框架代理前的原始对象
