惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
博客园 - 司徒正美
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
A
About on SuperTechFans
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Visual Studio Blog
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
博客园 - 聂微东

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
鸿蒙 1024|【相爱相杀】鸿蒙开发心路之旅 - 少数派
2025-10-13 · via 少数派

开发也是一种修行,帮助我们提高自己解决问题的能力,并且可以将此能力用在生活中。

鸿蒙在快速发展中,功能也是越来越丰富,这对开发者来说也是好事,也是一种挑战。开发中遇到的各种问题,有时候会卡很久,这个时候是最痛苦的,你可能在网上搜不到答案;请教别人,他们也许并没有遇到你的这种情况。

下面就举个我在开发中遇到的一个例子,一次心路探坑之旅。

背景

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

来源是一次审核被拒的情况。刚看到这个问题的时候,我是一脸懵的情况。我也没有折叠屏手机啊,也不能直接进行调试。想着使用云调试机器进行测试一下,然后就打包了个app包,上传到云调试平台,选择了一个云调试手机安装之后,试了一下并没有发现这个问题。这个时候更不知道问题了,难道是系统版本不一致?不啊,我选择的是一样的,后来找了一个同样机型系统一样的手机测试,发现也没这个问题啊。网上搜索一番也没有遇到这个问题的,去官方论坛试了一下,也没有找到解决方法。

审核反馈的信息如下:

测试步骤:

(1)兼容性:应用在折叠屏检测时由展开态切换至右横屏态时存在应用页面输入框内输入内容丢失的问题.测试环境:Wi-Fi联网、中文环境、Mate X5机型。

解决历程

1、无意中发现了眉目

从审核反馈的图上也看不出问题。从云调试Mate X5机型机上也没有重现该问题。就在我一头雾水时,想了一下就先放一放,解决其他问题去了。这是重点(因为没有眉目,然并没有一直卡在这里,去做其他事情了)。

等我回来后,下意识地把光标放在了哪个出问题的组件上了,就是这个输入框TextInput上,然后出现了系统弹窗,我也是无意识地点击了一个”查看API“

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

2、确定问题原因

经过思考,再次确认,问题应该就是文档中提到的输入框当前的文本内容,组件刷新时TextInput中的文本内容异常

3、解决办法
 

结合文档建议,通过onChange事件将状态变量与文本实时绑定,从API version 10开始,该参数支持双向绑定变量,从APIversion18开始,该参数支持!!双向绑定变量。这里做了向下兼容,我使用&&进行双向绑定也是可以的。

@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 }) 

思考

通过这个鸿蒙的审核问题,教会了我尝试一圈之后,还没有解决问题的话,可以先把问题放一放。然后等忙完其他的事情时,再回过头来从问题的源头上剖析这个问题,所谓的源头上就是具体是哪个地方,哪个组件的问题,查看对应的API,说不定有意想不到的“顿悟时刻”。

结论

  • 奇葩事件,不能死磕,说不定灵感来了一下下就解决了。
  • 遇到非常规问题,还是要看看官方API文档,它是你温情的港湾。