鸿蒙:使用Rating组件实现五角星打分评价

1、前言

我们经常会在app上打分,在鸿蒙中可以使用Rating组件实现这一功能。

2、参考文档

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-ratinghttps://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-rating

3、核心代码

复制代码
        Rating({ rating: this.fiveRating, indicator: false })
            .stars(5) // 设置评分星星的总数为5颗
            .stepSize(0.5) // 设置评分的步长为0.5,即每次可增减0.5分
            .onChange((value: number) => { // 评分变化时的回调事件
              this.fiveRating = value;
            })

4、运行效果

5、完整代码

Index.ets

复制代码
@Entry
@ComponentV2
struct Index {
  // rating 用于存储当前评分值,初始化为3.5
  @Local fiveRating: number = 0;
  @Local tenRating: number = 0;

  // build方法是组件的UI构建入口,用于定义组件的布局和内容
  build() {
    // 外层Column布局:占满整个屏幕空间,作为根容器
    Column() {
      // 内层Column布局:设置固定宽高,用于容纳评分组件和文本显示
      Column({ space: 20 }) {

        Column({ space: 10 }) {
          Image($rawfile("pingguo.png"))
            .width("50%")
          Text("苹果:满分五分,你给------" + this.fiveRating + "分")
            .fontSize(20)

          Rating({ rating: this.fiveRating, indicator: false })
            .stars(5) // 设置评分星星的总数为5颗
            .stepSize(0.5) // 设置评分的步长为0.5,即每次可增减0.5分
            .onChange((value: number) => { // 评分变化时的回调事件
              this.fiveRating = value;
            })
        }

        Column({ space: 10 }) {
          Image($rawfile("huawei.jpg"))
            .width("50%")
          Text("华为:满分十分,你给------" + this.tenRating + "分")
            .fontSize(20)
          Rating({ rating: this.tenRating, indicator: false })
            .stars(10) // 设置评分星星的总数为5颗
            .stepSize(0.5) // 设置评分的步长为0.5,即每次可增减0.5分
            .onChange((value: number) => { // 评分变化时的回调事件
              this.tenRating = value;
            })
        }

      }

    }
    .width('100%') // 外层Column宽度占满父容器(屏幕)
    .height('100%') // 外层Column高度占满父容器(屏幕)
  }
}

觉得有帮助可以点赞或收藏

相关推荐
g_z_x_1 小时前
鸿蒙 ArkTS 实战:Quiz Arena 从状态建模到交互闭环完整解析
华为·交互·harmonyos
用户0934077735141 小时前
HarmonyOS WPS Open SDK 实践:最小打开闭环与 enableEdit 分支处理
typescript·harmonyos
绝世番茄1 小时前
鸿蒙原生 ArkTS 布局方式之 Stack 悬浮按钮布局(HarmonyOS NEXT / API 24)
华为·harmonyos·鸿蒙
2301_768103491 小时前
HarmonyOS趣味相机实战第5篇:CameraKit资源释放、PixelMap生命周期与预览黑屏排查
性能优化·harmonyos·arkts·camerakit·pixelmap
花开彼岸天~2 小时前
鸿蒙应用开发实战【01】— 号码助手项目概述与开发环境搭建
华为·harmonyos·鸿蒙系统
不才难以繁此生2 小时前
HarmonyOS 图片列表滑动卡顿怎么办:中式美食菜谱封面怎么做占位、缓存和失败兜底
harmonyos·image·arkui·中式美食·列表性能
心中有国也有家3 小时前
AtomGit Flutter 鸿蒙客户端:零外部资源的应用打包策略
android·javascript·flutter·华为·harmonyos
心中有国也有家3 小时前
AtomGit Flutter 鸿蒙客户端:为 E-Brufen 注入情感节律的文案设计哲学
javascript·学习·flutter·华为·harmonyos
最爱老式锅包肉3 小时前
HarmonyOS技术精讲-Camera Kit(相机服务)第3篇:实现相机预览功能
数码相机·华为·harmonyos
youtootech3 小时前
HarmonyOS《柚兔学伴》项目实战02-多模块架构设计与 HSP/HAR 模块化
华为·harmonyos