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>
相关推荐
Zacks_xdc10 分钟前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js
给月亮点灯|18 分钟前
Vue基础知识-脚手架开发-使用Axios发送异步请求+代理服务器解决前后端分离项目的跨域问题
前端·javascript·vue.js
叫我阿柒啊20 分钟前
从Java全栈到前端框架:一次真实的面试对话与技术解析
java·javascript·typescript·vue·springboot·react·前端开发
张迅之1 小时前
【React】Ant Design 5.x 实现tabs圆角及反圆角效果
前端·react.js·ant-design
软工的小白2 小时前
uniapp开发前端静态视频界面+如何将本地视频转换成网络地址
uni-app·音视频
蔗理苦2 小时前
2025-09-05 CSS3——盒子模型
前端·css·css3
二川bro3 小时前
第25节:VR基础与WebXR API入门
前端·3d·vr·threejs
上单带刀不带妹3 小时前
Node.js 的模块化规范是什么?CommonJS 和 ES6 模块有什么区别?
前端·node.js·es6·模块化
缘如风3 小时前
easyui 获取自定义的属性
前端·javascript·easyui
诗书画唱3 小时前
【前端教程】JavaScript 实现图片鼠标悬停切换效果与==和=的区别
开发语言·前端·javascript