我相信很多小伙伴在学习鸿蒙开发使用@builder装饰器构建函数时传递参数发现改变变量值时页面并没有发生改变。

我将状态变量username传递给构建函数作为textInput的value值,同时我希望点击登录按钮输入框的值改变为“MyUsername”,然而事实却是

点击按钮毫无反应,为什么会这样子呢?

由于我们给函数传递的是一个基本数据类型,导致我们修改数据时构建函数没反应,怎么解决?

只需要我们在传递参数传递一个引用数据类型,将堆内存地址传递过去,同时构建函数的形参按照ArkTs固定的写法$$并指定参数类型

这样就完美解决了数据改变页面不响应的问题啦~ 

最后我们总结一下,在使用@builder装饰器构建函数时,希望修改@state状态数据时页面实时响应就需要我们在传递参数时传递一个引用数据类型,然后函数形参使用特定的写法$$来接收,这样就可以实现啦~ 希望能够帮助到您

作者:前端甄子丹

团队:坚果派

团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若于其他领域的三十余位万粉博主运营。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐