第 60 课2026.09.24
关闭结束后,在按钮下方给出清楚的结果,同时避免“已关闭”和失败提示并存。
第 60 课:互斥显示关闭结果
- 日期:2026-09-24
- 课程序号:第 60 课
- 知识点:用同一个状态区域呈现成功或失败
用途或适用场景
关闭结束后,在按钮下方给出清楚的结果,同时避免“已关闭”和失败提示并存。
核心概念
在 closing 结束的界面刷新点先判断 handle.isClosed(),再判断界面错误提示;两个分支互斥,且不复制资源的业务状态。
最小代码或操作示例
在第 59 课 ClosePage.build() 的 Column 内保留原按钮,将原失败 Text 替换为:
ts
if (!this.closing && this.handle.isClosed()) {
Text('资源已关闭')
} else if (!this.closing && this.errorMessage.length > 0) {
Text(this.errorMessage)
}3~5 分钟练习
分别模拟一次失败、随后重试成功,检查同一时刻显示的结果文字。
参考答案
失败时只显示“关闭失败,请重试”;重试成功后只显示“资源已关闭”。
与上一课的联系
沿用第 59 课重试时清空的 errorMessage、第 58 课按钮文案及 Handle 的 isClosed();本课只把结果文字改为互斥分支;完成后下一课可为结果提示补充无障碍说明。
时效校验
时效校验:2026-09-24(华为当前 Text 与 Button 文档;本机 HarmonyOS 26.0.0/API 26 SDK)。Text 自 API 7 可用,本机声明未见 @deprecated 或 @useinstead;示例未使用 any、unknown 或旧全局路由。