鸿蒙审核问题——折叠屏展开态切换时,输入框内容丢失
文章目录
- 背景
- 解决历程
- 1、无意中发现了眉目
- 2、确定问题原因
- 3、解决办法
- 4、官方文档
- 5、总结
背景
奇葩的事情年年有啊,今年特别多。这不今天又遇到了一个奇葩的问题。鸿蒙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、官方文档
-
TextInput
-
双向绑定
5、总结
- 奇葩事件,不能死磕,说不定一不小心就解决了。
- 遇到非常规问题,还是要看看API。