老司机91精品网站在线观看-老司机67194免费观看-老司国产精品视频-老熟人老女人国产老太-中文字幕日本在线-中文字幕日本一区久久

VUE 學(xué)習(xí)總結(jié)之簡單的Rate評分組件

2018-7-9    seo達(dá)人

如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點(diǎn)這里

說明

本組件基于element-ui 的圖標(biāo)庫(星星圖標(biāo))

第一步:

vue + webpack + element-ui 框架

第二步:

創(chuàng)建Rate.vue文件,實(shí)現(xiàn)雙向綁定分?jǐn)?shù)

第三部:

使用組件

代碼

在app.vue中引入組件


    
  1. <Rate v-model='value' size="32px">
  2. <span>{{value}} 分</span>
  3. </Rate>
import Rate from './components/Rate'

組件


    
  1. <template>
  2. <div class="Rating" :value='value'>
  3. <ul class="Rating-list">
  4. <li v-for="s in 5" @click="changeRate(s)">
  5. <i :class="s <= star ? 'el-icon-star-on':'el-icon-star-off'" :style='style'></i>
  6. </li>
  7. </ul>
  8. <slot></slot> <!--顯示用戶自定義內(nèi)容-->
  9. </div>
  10. </template>


    
  1. props: {
  2. size: { //父組件傳值設(shè)置字體大小
  3. type: String,
  4. default: '16px'
  5. },
  6. value: { //綁定value,與$emit實(shí)現(xiàn)雙向綁定
  7. type:Number,
  8. default:0
  9. }
  10. },
  11. data() {
  12. return {
  13. star: this.value, // 初始化
  14. style: {
  15. fontSize: this.size //通過prop傳值設(shè)置星星字體大小
  16. }
  17. }
  18. },
  19. methods: {
  20. changeRate(s) {
  21. this.star = s //更新當(dāng)前星星數(shù)量
  22. this.$emit('input', s); //將當(dāng)前星星數(shù)量s與v-model綁定
  23. }
  24. }

demo演示



日歷

鏈接

個人資料

存檔

主站蜘蛛池模板: 华安县| 台南市| 靖边县| 宁乡县| 石林| 延庆县| 台东市| 上高县| 三门峡市| 昌都县| 彭阳县| 新蔡县| 都兰县| 阿瓦提县| 郑州市| 青川县| 台江县| 文山县| 墨脱县| 澄江县| 湘阴县| 昌邑市| 监利县| 温州市| 碌曲县| 沅陵县| 昔阳县| 奎屯市| 肥乡县| 凤台县| 电白县| 中阳县| 漳州市| 思茅市| 巧家县| 台山市| 安徽省| 武义县| 田阳县| 南平市| 布尔津县|