鸿蒙审核问题——折叠屏展开态切换时,输入框内容丢失

文章目录


背景

奇葩的事情年年有啊,今年特别多。这不今天又遇到了一个奇葩的问题。鸿蒙NextAPP上架AppGallery市场,审核拒了,说是折叠屏手机展开态切换时,输入框内容丢失。

来源是一次审核被拒的情况。刚看到这个问题的时候,我是一脸懵的情况。我手机也没有折叠屏手机,也不能测试。

想到使用云调试机器进行测试,上传包安装之后,试了一下并没有发现这个问题。

审核反馈的信息如下:

测试步骤:

(1)兼容性:应用在折叠屏检测时由展开态切换至右横屏态时存在应用页面输入框内输入内容丢失的问题.

测试环境:Wi-Fi联网、中文环境、Mate X5机型。

解决历程

1、无意中发现了眉目

  • 从审核反馈的图上面,也看不到问题。从云调试Mate X5机型机上也没有重现。就在我一头雾水时,就先放一放解决其他问题去了。我觉的这个一步很重要,没有在这里死磕。

  • 等我回来后,下意识地把鼠标的光标,移到了出现问题的输入框TextInput上,然后出现了系统弹窗,我也是无意识地点击了一个**"查看API"**

  • 在弹窗的API窗口中,我刚好看到了下面这几句。这应该就是出现问题的原因了。

2、确定问题原因

输入框当前的文本内容,组件刷新时TextInput中的文本内容异常。

3、解决办法

建议通过onChange事件将状态变量与文本实时绑定,从API version 10开始,该参数支持$$双向绑定变量,从API version 18开始,该参数支持!!双向绑定变量。

  • 代码

    复制代码
    @State userAnswer: string = '';
    
    
            TextInput({text: $$this.userAnswer, placeholder: '在此输入你的答案...' })
              .width('100%')
              .height(80)
              .fontSize(14)
              .fontColor(Color.Black)
              .backgroundColor('#F9FAFB')
              .borderRadius(8)
              .padding(12)
              .onChange((value: string) => {
                this.userAnswer = value;
              })
              .margin({ bottom: 20 })

4、官方文档

5、总结

  • 奇葩事件,不能死磕,说不定一不小心就解决了。
  • 遇到非常规问题,还是要看看API。
相关推荐
鸿蒙开发3 小时前
鸿蒙(HarmonyOS NEXT)表单校验别再手撸正则了 —— 我写了个 ArkTS 版 zod
harmonyos
TrisighT3 小时前
ArkTS 的 @BuilderParam 你八成只用了皮毛——那个尾随闭包写法差点被我当 bug 删了
harmonyos·arkts·arkui
ONEDAY1 天前
HarmonyOS 多 Product 构建实践:一套代码生成多个产物
harmonyos
TT_Close1 天前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
TrisighT1 天前
ArkTS 列表滚动时为什么会闪现旧数据?我扒了 LazyForEach 的复用逻辑
harmonyos·arkts·arkui
MonkeyKing1 天前
鸿蒙ArkTS深度剖析:ArkTS与TS/JS核心差异、静态强类型实战优势
typescript·harmonyos
TrisighT1 天前
Electron鸿蒙PC上写日志文件,我被权限和路径坑了两次
electron·harmonyos
TrisighT2 天前
一个下午搞定 ArkTS 折叠面板?结果我从两点写到晚上九点
harmonyos·arkts·arkui
花椒技术5 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
一维Ace5 天前
HarmonyOS ArkTS 按钮组件全解:Button、Toggle 状态交互实战
harmonyos