2018-7-9 seo達人
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
本組件基于element-ui 的圖標庫(星星圖標)
第一步:
vue + webpack + element-ui 框架
第二步:
創建Rate.vue文件,實現雙向綁定分數
第三部:
使用組件
在app.vue中引入組件
<Rate v-model='value' size="32px"> <span>{{value}} 分</span> </Rate>
import Rate from './components/Rate'
組件
<template> <div class="Rating" :value='value'> <ul class="Rating-list"> <li v-for="s in 5" @click="changeRate(s)"> <i :class="s <= star ? 'el-icon-star-on':'el-icon-star-off'" :style='style'></i> </li> </ul> <slot></slot> <!--顯示用戶自定義內容--> </div> </template>
props: { size: { //父組件傳值設置字體大小 type: String, default: '16px' }, value: { //綁定value,與$emit實現雙向綁定 type:Number, default:0 } }, data() { return { star: this.value, // 初始化 style: { fontSize: this.size //通過prop傳值設置星星字體大小 } } }, methods: { changeRate(s) { this.star = s //更新當前星星數量 this.$emit('input', s); //將當前星星數量s與v-model綁定 } }
藍藍設計的小編 http://www.syprn.cn