HarmonyOS 枚举值条件判断不生效

代码片段

/**
 * 存款类型枚举
 */
export enum DMDetailType {
  'lczq',   //零存整取
  'zczq',  //整存整取
  'lczqxc', // 零存整取续存
  'transfer', //定活两便
  'moreThanTen', //  通知存款,超过10万
  'lessThanTen', //  通知存款,小于10万
  'nono', //无
}

@State type: DMDetailType = DMDetailType.nono//初始化赋值

this.type = DMDetailType.transfer//业务逻辑赋值

if (this.type = DMDetailType.lczq) {条件不成立,但走到这里面来了。} else {应该走这里面来。}

.visibility( this.type == DMDetailType.moreThanTen || this.type == DMDetailType.lczqxc ? Visibility.Visible : Visibility.None)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

问题:

在 this.type = DMDetailType.transfer 条件下,

1,枚举type属性在进行业务逻辑赋值后,if 中带的枚举判断不生效,没有走else,走的是if

2,组件的visibility属性,用三目运算符不生效,此组件应该隐藏,实际是展示

HarmonyOS
2024-12-24 15:36:37
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
put_get

可参考以下demo达成预期:

export enum DMDetailType {
  'lczq', //零存整取
  'zczq', //整存整取
  'lczqxc', // 零存整取续存
  'transfer', //定活两便
  'moreThanTen', // 通知存款,超过10万
  'lessThanTen', // 通知存款,小于10万
  'nono', //无
}

@Entry
@Component
struct Test {
  @State type: DMDetailType = DMDetailType.nono //初始化赋值

  build() {
    Column() {
      Button('Test1')
        .onClick(() => {
          this.type = DMDetailType.transfer //业务逻辑赋值
          console.log('', this.type)
          if (DMDetailType.lczq == this.type as number) {  // 类型断言为number
            console.log('true')
          } else {
            console.log('false')
          }
        })
      Button('Test2')
        .visibility(this.type == DMDetailType.moreThanTen  || this.type == DMDetailType.lczqxc ? Visibility.Visible :
        Visibility.None)
    }
  }
}
  • 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.
分享
微博
QQ
微信
回复
2024-12-24 18:12:40


相关问题
组件复用生效条件有哪些?
569浏览 • 1回复 待解决
HarmonyOS expandSafeArea生效
1024浏览 • 1回复 待解决
HarmonyOS margin生效
1142浏览 • 1回复 待解决
IF条件变化后UI刷新
1122浏览 • 1回复 待解决
HarmonyOS targetSpace生效问题
566浏览 • 1回复 待解决
HarmonyOS @Observed生效问题
1253浏览 • 1回复 待解决
HarmonyOS margin生效问题
735浏览 • 1回复 待解决
abiFilters配置生效
995浏览 • 1回复 待解决
HarmonyOS 单例模式生效
555浏览 • 1回复 待解决
HarmonyOS stack设置圆角生效
665浏览 • 1回复 待解决
HarmonyOS hitTestBehavior.block生效
922浏览 • 1回复 待解决
HarmonyOS Panel 设置 borderRadius 生效
1463浏览 • 1回复 待解决
HarmonyOS Web组件borderRadius生效
736浏览 • 1回复 待解决
HarmonyOS Stack 里 align生效
699浏览 • 1回复 待解决
HarmonyOS Span内边距生效
429浏览 • 1回复 待解决
HarmonyOS photoViewPicker智能推荐生效
946浏览 • 1回复 待解决