uniapp实现的简约美观的星级评分组件

采用 uniapp 实现的一款简约美观的星级评分模板,提供丝滑动画效果,用户可根据自身需求进行自定义修改、扩展,纯CSS、HTML实现,支持web、H5、微信小程序(其他小程序请自行测试)

可到插件市场下载尝试: https://ext.dcloud.net.cn/plugin?id=23736

  • 示例
    • 微信小程序端效果

    • H5端效果

props 属性

selectedStar

默认值选中星级

js 复制代码
selectedStar: {
    type: number,
    default: 0,
},

level

最高等级

js 复制代码
level: {
    type: number,
    default: 5,
},

事件

@change

点击星级变化时触发

使用示例

vue2 写法

js 复制代码
<template>
	<view style="padding: 10rpx; display: flex; flex-direction: column;row-gap: 40rpx;">
		<view style="display: flex; flex: auto;">
			<StarRating :selected-star="2" :level="3" @change="onChange"></StarRating>
		</view>
		<view style="display: flex; flex: auto;">
			<StarRating :selected-star="1" :level="5"></StarRating>
		</view>
		<view style="display: flex; flex: auto;">
			<StarRating :selected-star="5" :level="8"></StarRating>
		</view>
	</view>
</template>


<script>
import StarRating from './comp/star-rating.vue';
export default {
	components: {
		StarRating
	},
	data() {
		return {

		}
	},
	methods: {
		onChange(value) {
			console.log('Selected star rating:', value);
		}
	}
}
</script>

<style scoped></style>

vue3 写法

js 复制代码
<template>
	<view style="padding: 10rpx; display: flex; flex-direction: column; row-gap: 40rpx;">
		<view style="display: flex; flex: auto;">
			<StarRating :selected-star="2" :level="3" @change="onChange" />
		</view>
		<view style="display: flex; flex: auto;">
			<StarRating :selected-star="1" :level="5" />
		</view>
		<view style="display: flex; flex: auto;">
			<StarRating :selected-star="5" :level="8" />
		</view>
	</view>
</template>

<script setup>
import StarRating from './comp/star-rating.vue';

function onChange(value) {
	console.log('Selected star rating:', value);
}
</script>

<style scoped></style>
相关推荐
支支დ14 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
香芋芋圆14 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF15 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
宿67415 小时前
vue3-async
前端·javascript·vue.js
YXWik616 小时前
记录前端请求接口在浏览器请求响应的Preview和Response展示的一样的问题
前端
2501_9289962216 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
东风破_16 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
原则猫16 小时前
TS 类型工具
前端
excel17 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript
计算机魔术师18 小时前
美国司法部正式站队 OpenAI,AI 训练的版权账要这么算了
前端