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应用闪退问题
1287浏览 • 1回复 待解决
HarmonyOS 使用Webview会闪退
455浏览 • 1回复 待解决
HarmonyOS react-native-webview闪退问题
647浏览 • 1回复 待解决
HarmonyOS 分享组件无法正常使用,闪退
495浏览 • 1回复 待解决
HarmonyOS @Link使用问题
364浏览 • 1回复 待解决
HarmonyOS 使用AudioCapturer录音过程中闪退
789浏览 • 1回复 待解决
HarmonyOS 关于CustomDialog使用
813浏览 • 1回复 待解决
HarmonyOS number toFixed方法闪退
583浏览 • 1回复 待解决
怎样监听app 的闪退,当APP闪退的时候能够记录崩溃的日志,并上报服务端。能够分析。
3056浏览 • 1回复 待解决
使用document类下的document.choose(),选择文件闪退 的问题?
5675浏览 • 2回复 待解决
HarmonyOS 订阅气压计传感器数据页面闪退
600浏览 • 1回复 待解决
HarmonyOS 手势处理高概率闪退
388浏览 • 1回复 待解决
HarmonyOS 闪退报错 Error code:2100001
506浏览 • 1回复 待解决
HarmonyOS 关于CustomDialog显示层级问题
323浏览 • 1回复 待解决
HarmonyOS 使用编译器run打开flutter页面闪退
546浏览 • 1回复 待解决
HarmonyOS 自定义分辨率保存图片闪退问题
494浏览 • 1回复 待解决
HarmonyOS 申请短时后台任务闪退
488浏览 • 1回复 待解决
HarmonyOS 连接蓝牙耳机通话,应用闪退
595浏览 • 1回复 待解决
HarmonyOS PixelMap.rotate接口导致闪退
495浏览 • 1回复 待解决
HarmonyOS 页面返回时应用闪退报错
1355浏览 • 1回复 待解决
加载FFMpeg后APP出现闪退
798浏览 • 1回复 待解决
HarmonyOS升级后,react-native-svg闪退
514浏览 • 1回复 待解决
HarmonyOS调用 gattClient.off('BLECharacteristicChange') 项目闪退
908浏览 • 0回复 待解决
打开图库应用时偶尔会闪退
2962浏览 • 0回复 待解决
关于数据持久化使用问题
877浏览 • 1回复 待解决
在ArkUI中CustomDialogController是一个页面级别的组件,其生命周期是与页面绑定的。CustomDialogController在页面中的使用是通过页面的生命周期管理的,例如在页面加载完成后初始化,并在页面退出时销毁。如果将其公开成一个函数,则无法保证其在正确的生命周期阶段被初始化和销毁,而且初始化后也不要再动态对diaogController进行重新赋值,否则会导致不可预期的行为,参考示例如下: