HarmonyOS 鸿蒙Next textinput还未输入完成 会自动跳转到下1个输入框

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next textinput还未输入完成 会自动跳转到下1个输入框

textinput还未输入完成 会自动跳转到下1个输入框 Swiper中新增1个SwiperItem后textinput输入就会自动跳转到下1个 (SwiperItem中的输入框是循环生成的)

2 回复

您这边可以为forEach循环的时候添加键值,有关forEach的使用您可以参考此文档:ForEach:循环渲染-渲染控制-学习ArkTS语言-入门 - 华为HarmonyOS开发者 (huawei.com)

ForEach(this.areasList.sort((a, b) => Number(b.isrequired) - Number(a.isrequired)), (item: InfoModel, index: number) => {
  ListItem() {
    Column() {
      Row() {
        Row() {
          Text(item.name).fontSize(16)
            .fontColor('#000').height(60).margin({ left: 5 })
        }
        TextInput({
          text: item.result,
        })
          .type(this.inputType(item))
          .enterKeyType(EnterKeyType.Next)
          .onChange((value) => {
            item.result= value
          })
          .textAlign(TextAlign.End)
          .width('60%')
          .height(40)
          .fontSize(14)
          .backgroundColor('#fff')
          .borderRadius(0)
          .focusable(item.datatype == 'date' ? false : true)
          .onClick(() => {
            if (item.datatype == 'date') {
              CalendarPickerDialog.show({
                selected: this.selectedDate,
                onAccept: (value) => {
                  item.result = value.toString()// DateUtil.getFormatDateStr(value, 'yyyy年MM月dd日')
                  this.areasList.splice(index, 1, item)
                },
                onCancel: () => {
                  console.info("calendar onCancel")
                },
                onChange: (value) => {
                  console.info("calendar onChange:" + JSON.stringify(value))
                }
              })
            }
          })
      }
      .width('100%')
      .height(40)
      .backgroundColor('#fff')
      .justifyContent(FlexAlign.SpaceBetween)
      .padding({ left: 5, right: 5 })
      Divider().color('#ccc')
    }.margin({ top: 10 })
  }
},(item:InfoModel)=>item.name)<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多关于HarmonyOS 鸿蒙Next textinput还未输入完成 会自动跳转到下1个输入框的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS鸿蒙系统中Next textinput还未输入完成会自动跳转到下一个输入框的问题,这通常可能是由于以下几种原因导致的:

  1. 焦点管理异常:系统可能在某些情况下错误地管理了输入焦点,导致焦点提前转移到下一个输入框。

  2. 输入事件处理不当:应用程序在处理输入事件时可能存在逻辑错误,导致输入未完成就触发跳转。

  3. 系统或应用Bug:鸿蒙系统或特定应用程序可能存在未修复的Bug,导致此问题。

  4. 自定义组件或第三方库:如果使用了自定义组件或第三方库来处理输入,这些组件或库可能存在兼容性问题或错误。

为排查此问题,建议检查以下几点:

  • 确保所有输入框的焦点管理逻辑正确。
  • 审查输入事件的处理代码,确保逻辑无误。
  • 更新鸿蒙系统和相关应用到最新版本,以修复可能的Bug。
  • 如果使用了自定义组件或第三方库,尝试更新或替换为其他可靠组件。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。希望这些信息对您有所帮助!

回到顶部