HarmonyOS 关于CustomDialog使用@Link监听数据闪退问题
当把TDialog放到独立函数里面的时候,带上text传参就会闪退,不带上就不会。
代码如下:
import { emitter } from '@kit.BasicServicesKit';
import { TDialog } from './TDialog';
@Entry
@Component
struct Index {
dialogController?: CustomDialogController | null
isLandscape: boolean = false
@State text: string = "当前竖屏"
build() {
RelativeContainer() {
Text(this.text)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
}
.onClick(() => {
this.openDialog()
})
.height('100%')
.width('100%')
}
private openDialog() {
if (this.dialogController == null) {
this.dialogController = new CustomDialogController({
builder: TDialog({ str: this.text }),
alignment: DialogAlignment.Bottom,
autoCancel: true,
customStyle: true,
cancel: () => {
}
});
}
this.dialogController?.open();
}
}
- 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.
@CustomDialog
export struct TDialog {
controller?: CustomDialogController
@Link str: string
@Provide('coursePthInfo') coursePthInfo: NavPathStack = new NavPathStack()
build() {
Column() {
Text(this.str)
}
.width("100%")
.height(100)
.borderRadius({
topLeft: 12,
topRight: 12
}).backgroundColor(Color.White)
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS应用闪退问题
1657浏览 • 1回复 待解决
HarmonyOS 使用Webview会闪退
747浏览 • 1回复 待解决
HarmonyOS react-native-webview闪退问题
945浏览 • 1回复 待解决
HarmonyOS 分享组件无法正常使用,闪退
744浏览 • 1回复 待解决
HarmonyOS @Link使用问题
661浏览 • 1回复 待解决
HarmonyOS 使用AudioCapturer录音过程中闪退
1145浏览 • 1回复 待解决
HarmonyOS 关于CustomDialog使用
1083浏览 • 1回复 待解决
HarmonyOS number toFixed方法闪退
929浏览 • 1回复 待解决
怎样监听app 的闪退,当APP闪退的时候能够记录崩溃的日志,并上报服务端。能够分析。
3415浏览 • 1回复 待解决
使用document类下的document.choose(),选择文件闪退 的问题?
5980浏览 • 2回复 待解决
HarmonyOS 订阅气压计传感器数据页面闪退
921浏览 • 1回复 待解决
HarmonyOS 关于CustomDialog显示层级问题
622浏览 • 1回复 待解决
HarmonyOS 闪退报错 Error code:2100001
818浏览 • 1回复 待解决
HarmonyOS 手势处理高概率闪退
683浏览 • 1回复 待解决
HarmonyOS 使用编译器run打开flutter页面闪退
872浏览 • 1回复 待解决
HarmonyOS 自定义分辨率保存图片闪退问题
838浏览 • 1回复 待解决
HarmonyOS 页面返回时应用闪退报错
1694浏览 • 1回复 待解决
HarmonyOS 申请短时后台任务闪退
809浏览 • 1回复 待解决
HarmonyOS PixelMap.rotate接口导致闪退
787浏览 • 1回复 待解决
HarmonyOS 连接蓝牙耳机通话,应用闪退
905浏览 • 1回复 待解决
HarmonyOS customdialog使用问题
1527浏览 • 1回复 待解决
加载FFMpeg后APP出现闪退
1115浏览 • 1回复 待解决
页面间传递参数总是闪退
282浏览 • 0回复 待解决
使用模拟器会经常出现闪退,MacOS系统
284浏览 • 0回复 待解决
HarmonyOS升级后,react-native-svg闪退
775浏览 • 1回复 待解决
在ArkUI中CustomDialogController是一个页面级别的组件,其生命周期是与页面绑定的。CustomDialogController在页面中的使用是通过页面的生命周期管理的,例如在页面加载完成后初始化,并在页面退出时销毁。如果将其公开成一个函数,则无法保证其在正确的生命周期阶段被初始化和销毁,而且初始化后也不要再动态对diaogController进行重新赋值,否则会导致不可预期的行为,参考示例如下: