1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      vue中如何使用svg實現(xiàn)評分顯示組件

      這篇文章將為大家詳細(xì)講解有關(guān)vue中如何使用svg實現(xiàn)評分顯示組件,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

      專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)吉木乃免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

      在微信小程序中,有遇到要展示店鋪評分,或者是訂單完成后對商品進(jìn)行評價,用到了星星展示,查了下,在微信中無法使用svg實現(xiàn)圖片,微信中只能將svg圖片轉(zhuǎn)成base64來顯示,所以是在vue中使用的svg來實現(xiàn)評分

      1.效果圖

      微信中的可以點擊及顯示,但是,顯示的話,在4.2分,4點多分的時候,顯示的是半顆星

      vue中如何使用svg實現(xiàn)評分顯示組件

      vue中用的是svg實現(xiàn),所以用的是占比的形式,可以有一點點的星

      vue中如何使用svg實現(xiàn)評分顯示組件

      vue中如何使用svg實現(xiàn)評分顯示組件

      2.微信實現(xiàn)店鋪評分顯示及商品評價星星展示

      子組件index.wxml,可以動態(tài)的控制星星的大小

      
      
       
       
        
       
       
       
       暫無評分
       差評
       中評
       好評
       
      

      子組件index.wxss

      .starsBox{
       display: flex;
       align-items: center;
       justify-content: flex-start;
      }
      .stars{
       width: 150rpx;
       height: 50rpx;
       display: flex;
       align-items: center;
       justify-content: flex-start;
      }
      .stars image{
       width: 30rpx;
       height: 30rpx;
      }
      .text{
       color: #ccc;
       margin-left: 20rpx;
      }

      子組件index.js

      Component({
       properties: {
       /* 顯示有色星星的個數(shù) */
       value: {
        type: Number,
        value: 0,
        /* 監(jiān)聽value值的變化 */
        observer: function (newVal, oldVal, changedPath) {
        this.init()
        }
       },
       /* 設(shè)置星星大小 */
       size: {
        type: Number,
        value: 30
       },
       /* 是否可點擊,type為null表示值可以是任意類型 */
       isClick: {
        type: null,
        value: false
       }
       },
       attached() {
       /* 組件生命周期函數(shù),在組件實例進(jìn)入頁面節(jié)點樹時執(zhí)行 */
       this.init();
       },
       data: {
       stars: [0, 0, 0, 0, 0]
       },
       methods: {
       init() {
        let star = this.properties.value;
        let stars = [0, 0, 0, 0, 0];
        /* 圖片名稱,通過設(shè)置圖片名稱來動態(tài)的改變圖片顯示 */
        for (let i = 0; i < Math.floor(star); i++) {
        stars[i] = 'star';
        }
        if (star > Math.floor(star)) {
        stars[Math.floor(star)] = 'halfStar';
        }
        for (let i = 0; i < stars.length; i++) {
        if (stars[i] == 0) {
         stars[i] = 'grayStar';
        }
        }
        this.setData({
        stars
        })
       },
       /* 可點擊時,用于計算分?jǐn)?shù) */
       computeScore(e) {
        let index = e.currentTarget.dataset.index;
        let isClick = this.data.isClick;
        if (isClick) {
        let score = index + 1;
        this.triggerEvent('compute', {
         score
        });
        }
       }
       }
      })

      3.父組件中引用

      父組件index.wxml

      
       
        
       
       
         
       
      

      父組件index.json

      {
       "usingComponents": {
        "score": "/component/score/index"
       }
      }

      父組件index.js

      data: {
       shopGrade: 0,
       shopGrade1: 4.6,
      },
      /* 評分處理事件 */
      computeGrade(e) {
       let score = e.detail.score;
       this.setData({
        shopGrade: score
       })
      },

      4.vue中使用svg實現(xiàn)評分

      首先在vue使用的index.html的模板文件中添加一個rem轉(zhuǎn)換算法,因為我后面用的單位是rem

      /* 在頭部添加 */
      

      然后添加svg.vue文件,這個svg文件可以自己找圖片生成,并設(shè)置對應(yīng)的id

      
      
      

      rating.vue文件引用svg.vue

      
      
      
      
        .ratingstar {
          position: relative;
          width: 100%;
          .star_overflow {
            overflow: hidden;
            position: relative;
            height: 0.65rem;
          }
          .star_container {
            position: absolute;
            top: 0.05rem;
            width: 1rem;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            .grey_fill {
              width: 0.94rem;
              height: 0.2rem;
              fill: #d1d1d1;
            }
            .orange_fill {
              width: 0.94rem;
              height: 0.2rem;
              fill: #ff9a0d;
            }
          }
        }
      

      關(guān)于“vue中如何使用svg實現(xiàn)評分顯示組件”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


      名稱欄目:vue中如何使用svg實現(xiàn)評分顯示組件
      新聞來源:http://www.ef60e0e.cn/article/gciich.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        徐汇区| 柳州市| 隆昌县| 苗栗县| 平阳县| 托克逊县| 军事| 沙雅县| 大姚县| 彰武县| 土默特左旗| 九寨沟县| 旬阳县| 陈巴尔虎旗| 峨眉山市| 内乡县| 绥芬河市| 淄博市| 迭部县| 墨脱县| 隆德县| 广宗县| 元氏县| 无极县| 磐安县| 兴义市| 武胜县| 新和县| 通山县| 通榆县| 上栗县| 丹东市| 都匀市| 曲松县| 中阳县| 岳池县| 济宁市| 甘谷县| 麻城市| 荆州市| 青冈县|