【HarmonyOS NEXT】popOffset修改后,CustomDialog状态不能同步

 【关键字】

popOffset / 修改 / dialog / 未同步 / CustomDialogController

【问题描述】

popOffset修改后,dialog偏移的位置没有改变。是否是因为CustomDialogController初始化后,再对其修改就无效了?

cke_308.png

【解决方案】

自定义弹窗的所有参数,不支持动态刷新。

参考API如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5

如果想改变CustomDialogExample中UI的位置,可以参考下面的demo。

@CustomDialog
struct CustomDialogExample {

@Link offsetY:number
controller: CustomDialogController = new CustomDialogController({
builder: CustomDialogExample({offsetY:this.offsetY}),
})

build() {
Column() {
Text('我是内容')
.fontSize(20)
.margin({ top: 10, bottom: 10 })
}
.offset({x:0,y:this.offsetY})
}
}

@Entry
@Component
struct Index {


@State offsetY:number = 500


dialogController: CustomDialogController = new CustomDialogController({
builder: CustomDialogExample({offsetY:this.offsetY}),
// offset:{dy: this.offsetY ,dx:0},
alignment:DialogAlignment.Top,
customStyle:true
})

build() {
Column() {
Button('click me')
.onClick(() => {
this.dialogController.open()
})
Button('offsetY+')
.onClick(() => {
this.offsetY = 100
})
Button('offsetY-')
.onClick(() => {
this.offsetY = 0
})
}.width('100%').margin({ top: 5 })
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值