<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        基于elementUI實現圖片預覽組件的示例代碼

        來源:懂視網 責編:小采 時間:2020-11-27 21:59:22
        文檔

        基于elementUI實現圖片預覽組件的示例代碼

        基于elementUI實現圖片預覽組件的示例代碼:這是一個簡單的點擊圖片預覽的組件 順便記錄一下寫組件期間踩的vue中scope的坑~ 從注冊全局組件開始叭! 項目目錄: 模仿elementUI目錄結構,目錄名是組件名,src中是組件源文件(或者js服務文件),文件目錄下還有一個index.js用于同一管理sr
        推薦度:
        導讀基于elementUI實現圖片預覽組件的示例代碼:這是一個簡單的點擊圖片預覽的組件 順便記錄一下寫組件期間踩的vue中scope的坑~ 從注冊全局組件開始叭! 項目目錄: 模仿elementUI目錄結構,目錄名是組件名,src中是組件源文件(或者js服務文件),文件目錄下還有一個index.js用于同一管理sr

        這是一個簡單的點擊圖片預覽的組件

        順便記錄一下寫組件期間踩的vue中scope的坑~

        從注冊全局組件開始叭!

        項目目錄:


        模仿elementUI目錄結構,目錄名是組件名,src中是組件源文件(或者js服務文件),文件目錄下還有一個index.js用于同一管理src中的所有文件,導出并注冊,這個組件我們只有一個vue文件件

        先看index.js文件里有什么:

        //引入了src下的vue組件文件
        import starPicList from './src/star-pic-list';
        
        /* istanbul ignore next */
        starPicList.install = function(Vue) {
         //starPicList.name這就是后面可以使用的組件的名字(star-pic-list.vue文件里面定義的name),install是默認的一個方法
         Vue.component(starPicList.name, starPicList);
        };
        
        export default starPicList;

        接下來介紹一下install方法:

        Vue.use( plugin ):安裝 Vue.js 插件。如果插件是一個對象,必須提供 install 方法。如果插件是一個函數,它會被作為 install 方法。install 方法將被作為 Vue 的參數調用。當 install 方法被同一個插件多次調用,插件將只會被安裝一次。Vue.js 的插件應當有一個公開方法 install 。這個方法的第一個參數是 Vue 構造器,第二個參數是一個可選的選項對象:

        導出starPicList組件后在管理組件js文件中引用,然后由這個統一管理js文件導出注冊到全局即可:

        好了,這些是廢話!

        組件的使用:

        <!--圖片列表形式,點擊查看圖片列表,點擊顯示上(下)一張-->
        <template v-slot="scope">
         <star-pic-list :data="scope.row.pic" :max-show="2"/>
        </template>

        參數
        data: 傳入圖片數組;
        max-show: 一次最多顯示幾張圖片

        效果如下:

        補充:vue組件開發中 style 添加scoped后,修改第三方組件樣式沒有效果問題:

        在vue的開發中,我們通常和element-UI配合開發,就會遇到,在組件style中添加scoped后,element-ui中使用的子組件樣式無法改變。

        不用scoped,去掉這個屬性,但是會污染全局樣式,(可配合less 或者 scss(推薦scss),所有樣式寫在當前組件id或class下面)

        組件源碼:

        <template>
         <div id="star-pic-vue">
         <template v-if="data">
         <img v-for="item in images"
         :src="item"
         id="contract_url"
         @click="enlargePic"/>
         <template v-if="isDialogShow">
         </template>
         <el-dialog
         :visible.sync="centerDialogVisible"
         modal
         close-on-click-modal
         custom-class="dialog"
         >
         <el-carousel :autoplay="false" arrow="always">
         <el-carousel-item v-for="item in data" :key="item">
         <img :src="item">
         </el-carousel-item>
         </el-carousel>
         </el-dialog>
         </template>
         </div>
        </template>
        
        <script>
         export default {
         name: "star-pic-list",
         props: ["data","maxShow"],
         data(){
         return{
         centerDialogVisible: false,
         showPic: '',
         isDialogShow: false,
         index: 0,
         }
         },
         computed: {
         images() {
         if (this.data instanceof Array && this.data.length > 2) {
         return this.data.splice(0,this.maxShow)
         } else {
         return this.data
         }
         }
         },
         methods: {
         // 放大圖片
         enlargePic(e){
         this.isDialogShow = true;
         this.centerDialogVisible = true;
         this.showPic = this.data[0];
         console.log(this.images)
         },
         }
         }
        </script>
        
        <style lang="less">
        #star-pic-vue{
         width: 200px;
         height: auto;
         display: flex;
         flex-wrap: wrap;
         img{
         width: 80px;
         height: 80px;
         margin: 4px;
         }
         .dialog {
         img{
         width: 100%;
         height: 100%;
         margin: 0;
         }
         }
         .el-carousel__item h3 {
         color: #475669;
         font-size: 18px;
         opacity: 0.75;
         line-height: 300px;
         margin: 0;
         height: 100%;
         width: 100%;
         }
         .el-dialog__header{
         display: none;
         }
         .el-dialog__body {
         padding: 0 !important;
         margin: 0 !important;
         height: 600px;
         }
         .el-carousel{
         height: 100%;
         }
         .el-carousel__container {
         height: 100%;
         }
        }
        </style>

        更多組件點擊這兒 --> link : github>components>star-pic-list

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        基于elementUI實現圖片預覽組件的示例代碼

        基于elementUI實現圖片預覽組件的示例代碼:這是一個簡單的點擊圖片預覽的組件 順便記錄一下寫組件期間踩的vue中scope的坑~ 從注冊全局組件開始叭! 項目目錄: 模仿elementUI目錄結構,目錄名是組件名,src中是組件源文件(或者js服務文件),文件目錄下還有一個index.js用于同一管理sr
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲av日韩综合一区久热| g0g0人体全免费高清大胆视频| 亚洲日本VA午夜在线影院| 羞羞视频免费网站日本| 亚洲成人免费在线观看| 久久久久久免费视频| 中文字幕亚洲一区二区va在线| 亚洲日韩久久综合中文字幕| 成年女人毛片免费播放视频m| 亚洲人成伊人成综合网久久久| 亚洲国产成人久久综合| 99爱免费观看视频在线| 国产成人精品久久亚洲| 亚洲成在人线在线播放无码| 曰皮全部过程视频免费国产30分钟 | 91精品全国免费观看含羞草 | 高清在线亚洲精品国产二区| 亚洲精品免费在线视频| 中文字幕乱码免费看电影| 四虎永久成人免费| 亚洲不卡影院午夜在线观看| 999久久久免费精品播放| 亚洲精品国产成人| 精品国产免费观看久久久| 天堂亚洲免费视频| 久久精品国产精品亚洲艾| 国产免费内射又粗又爽密桃视频| 国产性生交xxxxx免费| 亚洲日韩精品无码专区加勒比☆| 免费va在线观看| 狠狠热精品免费观看| 免费jlzzjlzz在线播放视频| 免费在线黄色电影| 久久亚洲精品无码VA大香大香| 毛片在线播放免费观看| 国产A在亚洲线播放| 亚美影视免费在线观看| 亚洲综合久久成人69| 免费乱码中文字幕网站| 最近国语视频在线观看免费播放 | 男男黄GAY片免费网站WWW|