abiodunolunu / vue3-star-ratings

A simple, customization star rating component for your vue3 projects
https://npmjs.com/package/vue3-star-ratings
MIT License
30 stars 6 forks source link

vue3-star-ratings


A simple, customizable component for star ratings

Documentation


Features

Demo

You can try out the demo here: https://vue3-star-ratings.netlify.app/demo

Installation and usage


npm install vue3-star-ratings --save

You can use register it globally like this:

import { createApp } from "vue";
import App from "./App.vue";
import vue3StarRatings from "vue3-star-ratings";

const app = createApp(App);

app.component("vue3-star-ratings", vue3StarRatings);

then use it this in your component: <vue3-star-ratings />

Alternatively, you can use it directly:

<!-- your-component.vue -->

<template>
  <vue3-star-ratings v-model="rating" />
</template>

<script>
import { defineComponent } from "vue";
import vue3starRatings from "vue3-star-ratings";

export default defineComponent({
  components: {
    vue3starRatings,
  },
});
</script>

Browser with CDN

<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue3-star-ratings"></script>
const { createApp } = Vue;
const App = {
  //Component code...
};
const app = createApp(App);
app.component("vue3StarRatings", Vue3StarRatings);
app.mount("#app");

The v-model directive syncs the rating value between the Vue3StarRatings component and its parent:

<vue3-star-ratings v-model="rating"/>.

Available Props

Prop Description Type Default
numberOfStars Specifies the total number of stars displayed and the maximum rating Number 5
starSize Sets the height and width of each star, in pixels Number 32
starColor Defines the color of active stars String #ff9800
inactiveColor Sets the color of inactive stars String #333333
disableClick Allows you to disable the click event on the stars Boolean false
v-model Syncs the rating value between the component and its parent component
customSvg Provides an option for using a custom SVG icon for the star rating Component Built-in

Customize the component by leveraging these props to meet your specific needs.