dinghao_8 2023-11-16 22:53
浏览 24
已结题

Arkts页面刷新问题

这几天在学习鸿蒙的相关东西,按着视频学习写一些联系的小demo.遇到了一些问题.当我点击刷新按钮的时候,页面上的数据不会刷新.有劳各位同志指教.
(由于代码模版还不支持Ark,只能复制代码了,各位见谅)

@Component
export struct TitleComponent {
  @Link isSwitchData: boolean;

  build() {
    Row() {
      Row() {
        Image($r("app.media.ic_public_back"))
          .height(22)
          .width(22)
          .margin({ right: 10 })
        Text("排行榜").fontSize(20)
      }.width('50%').height('100%')
      .justifyContent(FlexAlign.Start)

      Row() {
        Image($r("app.media.loading"))
          .width(22).height(22).onClick(() => {
          this.isSwitchData = !this.isSwitchData
          console.info("current isSwitchData is " + this.isSwitchData)
        })
      }.width('50%').height('100%')
      .justifyContent(FlexAlign.End)
    }.width('100%').height(47)
    .padding({ left: 26, right: 26 })
    .margin({ top: 10 })
  }
}

@Component
export struct ListHeaderComponent{
  build(){
    Row() {
      Text('排名').fontSize(14).fontColor(Color.Gray).width('30%')
      Text('种类').fontSize(14).fontColor(Color.Gray).width('50%')
      Text('得票数').fontSize(14).fontColor(Color.Gray).width('20%')
    }.width('90%').padding(15)
  }
}

@Component
export struct ListItemComponent {
  index: string;
  name: string;
  vote: string;

  build() {
    Row() {
      if (parseInt(this.index) <= 3) {
        Column() {
          Row() {
            Text(this.index).fontSize(16).fontWeight(FontWeight.Bold).fontColor(Color.White)
          }
          .width(24)
          .height(24)
          .backgroundColor(Color.Blue)
          .borderRadius(18)
          .justifyContent(FlexAlign.Center)
        }.width('30%').alignItems(HorizontalAlign.Start)

      } else {
        Column() {
          Text(this.index).fontSize(16).width(24).fontWeight(FontWeight.Bold)
            .textAlign(TextAlign.Center)
        }.width('30%').alignItems(HorizontalAlign.Start)
      }
      Text(this.name).fontSize(16).fontWeight(FontWeight.Bold).width('50%')
      Text(this.vote).fontSize(16).fontWeight(FontWeight.Bold).width('20%')
    }
  }
}

----index页面
import { Fruit, rankData1, rankData2 } from "../module/DataModele"
import { TitleComponent } from '../view/TitleComponent'
import { ListHeaderComponent } from '../view/ListHeaderComponent'
import { ListItemComponent } from '../view/ListItemComponent'

@Entry
@Component
struct Index {
  rankData1: Array<Fruit> = rankData1
  rankData2: Array<Fruit> = rankData2
  @State isSwitchData: boolean = false

  build() {
    Column() {
      //标题头
      TitleComponent({ isSwitchData: $isSwitchData })
      //排行榜头
      ListHeaderComponent()
      //排行榜列表项
      this.RankList()

    }.width('100%').height('100%').backgroundColor('#f1f3f5')
  }

  @Builder RankList() {
    Column() {
      List() {
        ForEach(this.isSwitchData ? this.rankData1 : this.rankData2, (item: Fruit) => {
          ListItem() {
            ListItemComponent({
              index: item.id,
              name: item.name,
              vote: item.vote
            })
          }.width('100%').height(47)
        })
      }
    }.width('90%').padding(15).backgroundColor(Color.White).borderRadius(18)
  }
}
  • 写回答

1条回答 默认 最新

  • dinghao_8 2023-11-22 09:15
    关注

    后来发现将json文件中的harmony改成open harmony就可以正常

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 图像超分real-esrgan网络自己训练模型遇到问题
  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵