HarmonyOS Toggle开关状态控制

Toggle开关能不改变开关状态只响应事件,等事件响应结束后再改变状态?Toggle开关开启和关闭时的UI是不一样的,开启的时候直接开启,关闭的时候先弹框提示,点击确定后关闭开关同时刷新UI,点击取消的时候保持状态不变。目前遇到的问题是点击关闭的时候弹框,此时UI刷新了。点击取消后开关回到开启状态,UI又刷新了一遍。

HarmonyOS
2024-12-25 12:54:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

不可以,Toggle组件触发onChange事件是开关状态切换时触发该事件,所以状态是先改变的,参考示例如下:

@Entry
@Component
struct ToggleExample {
  @State isOn: boolean = false
  build() {
    Column({ space: 10 }) {
      Toggle({ type: ToggleType.Switch, isOn: $$this.isOn })
        .onChange((isOn: boolean) => {
          console.log(`Toggle is ${this.isOn ? 'ON' : 'OFF'})`)
          if (this.isOn === true) {
            this.isOn = isOn
            return;
          }

          AlertDialog.show(
            {
              title: 'title',
              subtitle: 'subtitle',
              message: 'text',
              autoCancel: true,
              alignment: DialogAlignment.Center,
              gridCount: 4,
              showInSubWindow: true,
              isModal: true,
              offset: { dx: 0, dy: -20 },
              buttonDirection: DialogButtonDirection.HORIZONTAL,
              buttons: [
                {
                  value: '取消',
                  action: () => {
                    this.isOn = true
                    console.info('取消关闭Toggle')
                  }
                },
                {
                  value: '确定',
                  action: () => {
                    this.isOn = isOn
                    console.info('确定关闭Toggle')
                  }
                }
              ],
              cancel: () => {
                this.isOn = true
                console.info('Closed callbacks')
              }
            })
        })
    }.width('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-25 15:37:23
相关问题
HarmonyOS Toggle是否有异步控制功能
175浏览 • 1回复 待解决
HarmonyOS 如何单独控制闪光灯开关
163浏览 • 1回复 待解决
HarmonyOS 如何获取手机GPS开关状态
171浏览 • 1回复 待解决
HarmonyOS 扬声器开关状态如何监听
49浏览 • 1回复 待解决
是否有闪光灯开关控制能力?
1910浏览 • 1回复 待解决
HarmonyOS 如何控制状态
234浏览 • 1回复 待解决
HarmonyOS RichEditor如何控制输入状态
248浏览 • 1回复 待解决
HarmonyOS Toggle问题
601浏览 • 0回复 待解决
鸿蒙java中有没有控制4G/5G开关的接口
5268浏览 • 1回复 待解决
HarmonyOS Toggle 问题
134浏览 • 1回复 待解决