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%')
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 关于CustomDialog使用@Link监听数据闪退问题
894浏览 • 1回复 待解决
父组件与子组件使用@Link双向同步
2056浏览 • 1回复 待解决
HarmonyOS V2 @Link?
1065浏览 • 0回复 待解决
HarmonyOS 组件变量被@Link修饰,如何使用ForEach批量创建组件
1036浏览 • 1回复 待解决
HarmonyOS @Prop和 @link的内存和效率对比,使用大量数据深拷贝的时候,使用link的开销是不是比prop小
907浏览 • 1回复 待解决
HarmonyOS 关于@State或@Link 修饰Array的应用
858浏览 • 1回复 待解决
HarmonyOS 连续两次@Link之后UI没更新
679浏览 • 1回复 待解决
@State和@Link的区别是什么?
239浏览 • 0回复 待解决
Tabs的具体使用方法,我这个报错The variable with @Link in component with @Preview may cause error in
333浏览 • 1回复 已解决
子组件使用@Link修饰成员变量时,如何通过父组件传值
2569浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用@Link装饰器实现父子组件的双向数据绑定?
1142浏览 • 1回复 待解决
HarmonyOS Class里面怎么实现@Link的初始化
1218浏览 • 0回复 待解决
HarmonyOS Imageknife使用问题
732浏览 • 1回复 待解决
HarmonyOS Slide使用问题
912浏览 • 1回复 待解决
HarmonyOS ProtoBuffer使用问题
973浏览 • 1回复 待解决
HarmonyOS textpicker使用问题
727浏览 • 1回复 待解决
HarmonyOS filePreview使用问题
1034浏览 • 1回复 待解决
HarmonyOS RichEditor使用问题
572浏览 • 1回复 待解决
HarmonyOS 动画使用问题
579浏览 • 1回复 待解决
HarmonyOS Scroll使用问题
651浏览 • 1回复 待解决
HarmonyOS @Track使用问题
541浏览 • 1回复 待解决
HarmonyOS onAreaChange使用问题
1499浏览 • 1回复 待解决
HarmonyOS Slider使用问题
742浏览 • 1回复 待解决
HarmonyOS jsbridge使用问题
722浏览 • 1回复 待解决
参考如下demo: