HarmonyOS ComposeListItem使用switch监听onChange方法变化异常
ComposeListItem({
  contentItem: ({
    iconStyle: IconType.SYSTEM_ICON,
    icon: $r("app.media.set_push_setup"),
    primaryText: '个性化推送开关',
  }),
  operateItem: ({
    switch: {
      isCheck: this.data.isAcceptInfo == 0,
      onChange: (isCheck: boolean) => {
        if (this.hasData) {
          this.data.isAcceptInfo = isCheck ? 0 : 1
          this.requestPushSwitch(this.data.isAcceptInfo)
        }
      }
    },
  })
})
//数据请求返回
MineModel.getSetInfo((data) => {
  param.success?.()
  this.data = data
  this.viewState = ViewProgressState.SUCCESS
  this.hasData = true
}, (_code) => {
  param.error?.()
  this.viewState = ViewProgressState.SUCCESS
})
在数据请求结果回来后,如果this.data.isAcceptInfo从默认值1改为了0,那么这个时候会触发onChange方法,有什么方法可以避免这个数据请求结果回来的变化?
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS RichEditor组件能够像TextArea组件的onChange方法一样获取文字变化吗? 
1647浏览  • 1回复 待解决
HarmonyOS  Toggle组件onChange方法手动触发 
1524浏览  • 1回复 待解决
harmonyos组件build方法中支持switch语句吗? 
1346浏览  • 2回复 待解决
如何实现一个监听网络变化的方法 
1644浏览  • 1回复 待解决
HarmonyOS 在Page内使用方法调用方法异常 
2129浏览  • 1回复 待解决
HarmonyOS Radio的onChange方法只会触法一次 
1084浏览  • 1回复 待解决
HarmonyOS 网络变化监听失效 
1092浏览  • 1回复 待解决
HarmonyOS  onMemoryLevel监听内存变化 
926浏览  • 1回复 待解决
window.on监听方法的使用 
1124浏览  • 1回复 待解决
使用@Observed/@ObjectLink监听多层状态的变化 
2904浏览  • 1回复 待解决
系统日历方法使用会抛异常 
1746浏览  • 1回复 待解决
HarmonyOS page如何监听数据变化 
1038浏览  • 1回复 待解决
HarmonyOS 装饰器数据变化监听 
842浏览  • 1回复 待解决
HarmonyOS 音频设备变化监听 
1179浏览  • 1回复 待解决
HarmonyOS  如何监听组件自身尺寸变化 
996浏览  • 1回复 待解决
HarmonyOS  如何监听某个变量是否变化 
1170浏览  • 1回复 待解决
HarmonyOS  如何监听系统主题变化 
1171浏览  • 1回复 待解决
如何监听window大小的变化 
1589浏览  • 1回复 待解决
如何监听窗口大小的变化 
3930浏览  • 1回复 待解决
HarmonyOS 如何监听到音频焦点的变化 
1142浏览  • 1回复 待解决
HarmonyOS  如何监听text文本变化的行数? 
1509浏览  • 1回复 待解决
HarmonyOS 如何监听修改系统时间的变化? 
1358浏览  • 1回复 待解决
HarmonyOS 如何监听数组元素属性的变化? 
2092浏览  • 1回复 待解决
鸿蒙如何监听键盘高度变化 
587浏览  • 1回复 待解决
如何监听系统应用异常 
2691浏览  • 1回复 待解决





















代码中的isCheck与data中的isAcceptInfo绑定,无法直接禁止掉isAcceptInfo 变化引起的onChange事件。可以设置一个与isAcceptInfo不同的UI状态变量,用于控制switch组件的显示。这个UI状态变量只在用户与switch组件交互时更新,参考如下: