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

文章目录


背景

奇葩的事情年年有啊,今年特别多。这不今天又遇到了一个奇葩的问题。鸿蒙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。
相关推荐
24zhgjx-lxq19 小时前
华为ensp:MSTP
网络·安全·华为·hcip·ensp
qq_1777673720 小时前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
烬头882120 小时前
React Native鸿蒙跨平台应用实现了onCategoryPress等核心函数,用于处理用户交互和状态更新,通过计算已支出和剩余预算
前端·javascript·react native·react.js·ecmascript·交互·harmonyos
小雨青年21 小时前
鸿蒙 HarmonyOS 6 | 系统能力 (06) 构建现代化通知体系 从基础消息到实况
华为·harmonyos
木斯佳1 天前
HarmonyOS 6实战(源码解析篇):音乐播放器的音频焦点管理(上)——AudioSession与打断机制
华为·音视频·harmonyos
2601_949593651 天前
基础入门 React Native 鸿蒙跨平台开发:卡片组件
react native·react.js·harmonyos
沐芊屿1 天前
华为交换机配置M-LAG
服务器·网络·华为
qq_177767371 天前
React Native鸿蒙跨平台剧集管理应用实现,包含主应用组件、剧集列表、分类筛选、搜索排序等功能模块
javascript·react native·react.js·交互·harmonyos
qq_177767371 天前
React Native鸿蒙跨平台自定义复选框组件,通过样式数组实现选中/未选中状态的样式切换,使用链式调用替代样式数组,实现状态驱动的样式变化
javascript·react native·react.js·架构·ecmascript·harmonyos·媒体
烬头88211 天前
React Native鸿蒙跨平台采用了函数式组件的形式,通过 props 接收分类数据,使用 TouchableOpacity实现了点击交互效果
javascript·react native·react.js·ecmascript·交互·harmonyos