HarmonyOS @Link使用问题
目前三方SDK提供的har包使用@Link修饰变量。经过封装后,怎么样可以通过设置Model内变量,修改三方SDK内的值?下面是示例代码:
//三方SDK为Har包,他使用@Link修饰变量,无法修改
@Component
export struct ThirdPartySDK {
@Link text: string
build() {
Text(this.text)
}
}
// 由于三方SDK内很多参数需要重复编写,这里封装的三方SDK,以供自定义组件使用
@Component
export struct MinePackageThirdPartySDK {
// @State text: string = ""; /// 使用State修饰变量, 使用this.textModel.setText('asdasd')修改时,无效
@Link text: string; /// 使用Link修饰变量, 运行崩溃
build() {
ThirdPartySDK({ text: $text })
}
}
// 此处封装MinePackageThirdPartySDK,会额外添加一些其他的布局,将所有属性添加至Model模型里
@Component
export struct Mine {
@Link model: Mine.Model;
build() {
MinePackageThirdPartySDK({ text: this.model.text })
}
}
export namespace Mine {
export class Model {
text: string = ""; /// 设置显示文字
setText(value: string) {
this.text = value;
return this;
}
constructor() {
}
}
}
@Entry
@Component
struct Index {
@State textModel: Mine.Model = new Mine.Model()
.setText('12313')
build() {
Column() {
Mine({ model: $textModel })
Button('test')
.onClick(() => {
this.textModel.setText('asdasd')
})
}
.height('100%')
.width('100%')
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 关于CustomDialog使用@Link监听数据闪退问题
475浏览 • 1回复 待解决
父组件与子组件使用@Link双向同步
1629浏览 • 1回复 待解决
HarmonyOS V2 @Link?
594浏览 • 0回复 待解决
HarmonyOS 组件变量被@Link修饰,如何使用ForEach批量创建组件
687浏览 • 1回复 待解决
HarmonyOS @Prop和 @link的内存和效率对比,使用大量数据深拷贝的时候,使用link的开销是不是比prop小
339浏览 • 1回复 待解决
HarmonyOS 关于@State或@Link 修饰Array的应用
479浏览 • 1回复 待解决
HarmonyOS 连续两次@Link之后UI没更新
282浏览 • 1回复 待解决
子组件使用@Link修饰成员变量时,如何通过父组件传值
2143浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用@Link装饰器实现父子组件的双向数据绑定?
627浏览 • 1回复 待解决
HarmonyOS Class里面怎么实现@Link的初始化
831浏览 • 0回复 待解决
@Link引用的Object数组导致组件不走生命周期
1088浏览 • 1回复 待解决
HarmonyOS CustomDialogController使用问题
207浏览 • 1回复 待解决
HarmonyOS地图使用问题
676浏览 • 1回复 待解决
HarmonyOS SideBarContainer使用问题
344浏览 • 1回复 待解决
HarmonyOS RichEditor 使用问题
901浏览 • 1回复 待解决
HarmonyOS Worker使用问题
313浏览 • 1回复 待解决
HarmonyOS RSA使用问题
181浏览 • 1回复 待解决
HarmonyOS eventHub使用问题
464浏览 • 1回复 待解决
HarmonyOS TurboModules使用问题
576浏览 • 1回复 待解决
HarmonyOS websocket使用问题
626浏览 • 1回复 待解决
HarmonyOS AudioCapturer使用问题
315浏览 • 1回复 待解决
HarmonyOS Navigation使用问题
909浏览 • 1回复 待解决
HarmonyOS Navigation 使用问题
853浏览 • 1回复 待解决
HarmonyOS lottie使用问题
707浏览 • 1回复 待解决
参考如下demo: