HarmonyOS 鸿蒙Next 在if语句中取反状态变量报错:'this.input_full = false' does not comply with the UI component syntax. <etsLint>
HarmonyOS 鸿蒙Next 在if语句中取反状态变量报错:‘this.input_full = false’ does not comply with the UI component syntax. <etsLint> 做完操作后,我想把状态变量的值还原,就报错了不知道为啥
4 回复
看一下提示的啥信息
更多关于HarmonyOS 鸿蒙Next 在if语句中取反状态变量报错:'this.input_full = false' does not comply with the UI component syntax. <etsLint>的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
鼠标移上去放一会可以看到错误原因,大概率是类型问题
你不会是在build()里面取反的吧?
在HarmonyOS鸿蒙Next中,this.input_full = false
报错的原因是违反了UI组件的语法规则。鸿蒙Next的UI组件状态管理遵循特定的语法,不能直接在if语句中通过赋值操作修改状态变量。正确的做法是使用@State
或@Link
装饰器来管理组件的状态,并通过this.setState
或this.setLink
方法来更新状态。例如,使用@State
装饰器时,应通过this.setState({ input_full: false })
来更新状态,而不是直接赋值。这种设计是为了确保UI组件状态的更新能够正确触发组件的重新渲染。