最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue定義模態(tài)框的方法

 更新時間:2022年07月05日 09:52:24   作者:xiaodunmeng  
這篇文章主要為大家詳細介紹了vue定義模態(tài)框的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue定義模態(tài)框的具體代碼,供大家參考,具體內(nèi)容如下

<template>
<transition name="slide">
    <div class="modal" v-show="showModal">
      <div class="mask"></div>
      <div class="modal-dialog">
        <div class="modal-header">
          <span>{{title}}</span>
          <a href="javascript:;" class="icon-close" v-on:click="$emit('cancel')"></a>
        </div>
        <div class="modal-body">
          <slot name="body"></slot>
        </div>
        <div class="modal-footer">
          <a href="javascript:;" class="btn" v-if="btnType===1" v-on:click="$emit('submit')">{{sureText}}</a>
          <a href="javascript:;" class="btn" v-if="btnType===2" v-on:click="$emit('cancel')">{{cancelText}}</a>
          <div class="btn-group" v-if="btnType===3">
            <a href="javascript:;" class="btn" v-if="btnType===1" v-on:click="$emit('submit')">{{sureText}}</a>
            <a href="javascript:;" class="btn" v-if="btnType===2" v-on:click="$emit('cancel')">{{cancelText}}</a>
          </div>
        </div>
      </div>
    </div>
  </transition>
</template>
 
<script>
export default {
  name: 'modal',
  props: {
    // 彈窗類型  小small 中middle 打large 表單form
    modalType: {
      type: String,
      default: 'form'
    },
    title: String,
    // 按鈕類型1確定 2取消 3確定取消
    btnType: String,
    sureText: {
      type: String,
      default: '確定'
    },
    cancelText: {
      type: String,
      default: '取消'
    },
    showModal: Boolean
  }
}
</script>
 
<style lang="scss">
@import '../assets/scss/config.scss';
@import '../assets/scss/modal.scss';
@import '../assets/scss/mixin.scss';
</style>

modal.scss

@import './mixin.scss';
.modal {
? @include position(fixed);
? z-index: 30;
? transition: all .5s;
? .mask {
? ? @include position(fixed);
? ? background-color: $colorI;
? ? opacity: 0.5;
? }
? &.slide-enter-active {
? ? top: 0;
? }
? &.slide-leave-active {
? ? top: -100%;
? }
? &.slide-enter {
? ? top: -100%;
? }
? .modal-dialog {
? ? @include position(absolute,40%,50%,660px,auto);
? ? background-color: $colorG;
? ? transform: translate(-50%,-50%);
? ? .modal-header {
? ? ? height: 60px;
? ? ? background-color: $colorJ;
? ? ? padding: 0 25px;
? ? ? line-height: 60px;
? ? ? font-size: $fontI;
? ? ? .icon-close {
? ? ? ? @include positionImg(absolute,23px,25px,14px,14px,'/imgs/icon-close.png');
? ? ? ? transition: transform .3s;
? ? ? ? &:hover {
? ? ? ? ? transform: scale(1.5);
? ? ? ? }
? ? ? }
? ? }
? ? .modal-body {
? ? ? padding: 42px 40px 54px;
? ? ? font-size: 14px;
? ? }
? ? .modal-footer {
? ? ? height: 82px;
? ? ? line-height: 82px;
? ? ? text-align: center;
? ? ? background-color: $colorJ;
? ? }
? }
}
@mixin flex($hov:space-between, $col: center) {
? display: flex;
? justify-content: $hov;
? align-items: $col;
}
?
@mixin bgImg($w:0, $h:0, $img:'', $size:contain) {
? display: inline-block;
? width: $w;
? height: $h;
? background: url($img) no-repeat center;
? background-size: $size;
}
?
@mixin positionImg($pos:absolute,$top:0,$right:0,$w:0, $h:0, $img:'', $size:contain) {
? position: $pos;
? top: $top;
? right: $right;
? width: $w;
? height: $h;
? background: url($img) no-repeat center;
? background-size: $size;
}
?
@mixin position($pos:absolute,$top:0,$left:0,$w:100%,$h:100%) {
? position: $pos;
? top: $top;
? left: $left;
? width: $w;
? height: $h;
}

要引用的

<modal
? ? ? title="提示"
? ? ? sureText="查看購物車"
? ? ? :btnType="1"
? ? ? modalType="middle"
? ? ? v-bind:showModal="showModal"
? ? ? v-on:submit="goToCart"
? ? ? v-on:cancel="showModal=false"
? ? >
? ? <template v-slot:body>
? ? ? <p>商品添加成功!</p>
? ? </template>
? ? </modal>
?
?
data() {
? ? return {
? ? ? ? isModal:false
? ? }
}

button.scss

@import './config.scss';
.btn {
? display: inline-block;
? width: 110px;
? line-height: 30px;
? text-align: center;
? background-color: $colorA;
? color: $colorG;
? border: none;
? cursor: pointer;
}
?
.btn-default {
? background-color: #b0b0b0;
? color: $colorG;
}
.btn-large {
? width: 202px;
? height: 50px;
? line-height: 50px;
? font-size: 18px;
}
.btn-huge {
? width: 300px;
? height: 54px;
? line-height: 54px;
? font-size: 18px;
}
.btn-group {
? .btn {
? ? margin-right: 20px;
? ? &:last-child {
? ? ? margin-right: 0;
? ? }
? }
}

自定義模態(tài)框彈出框的大小位置及動畫

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue實現(xiàn)首頁banner自動輪播效果

    Vue實現(xiàn)首頁banner自動輪播效果

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)首頁banner自動輪播效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue實現(xiàn)百度搜索下拉提示功能實例

    vue實現(xiàn)百度搜索下拉提示功能實例

    這篇文章主要介紹了vue實現(xiàn)百度搜索下拉提示功能實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • vue項目中使用scss詳細方法步驟

    vue項目中使用scss詳細方法步驟

    這篇文章主要給大家介紹了關(guān)于vue項目中使用scss的詳細方法步驟,scss是一種css預(yù)處理語言,定義了一種新的專門的編程語言,編譯后形成正常的css文件,為css增加一些編程特性,無需考慮瀏覽器的兼容性,讓css更加簡潔、適應(yīng)性更強,可讀性更佳,需要的朋友可以參考下
    2023-11-11
  • 前端在el-dialog中嵌套多個el-dialog代碼實現(xiàn)

    前端在el-dialog中嵌套多個el-dialog代碼實現(xiàn)

    最近使用vue+elementUI做項目,使用過程中很多地方會用到dialog這個組件,有好幾個地方用到了dialog的嵌套,下面這篇文章主要給大家介紹了關(guān)于前端在el-dialog中嵌套多個el-dialog代碼實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Vue過濾器filters如何使用

    Vue過濾器filters如何使用

    Vue過濾器filters用于一些常見的文本格式化,通過過濾器可以進行處理成自己想要展示出來的格式,由“管道”符號指示,本文給大家介紹Vue過濾器filters使用方式,感興趣的朋友一起看看吧
    2023-10-10
  • vue路由跳轉(zhuǎn)到新頁面實現(xiàn)置頂

    vue路由跳轉(zhuǎn)到新頁面實現(xiàn)置頂

    這篇文章主要介紹了vue路由跳轉(zhuǎn)到新頁面實現(xiàn)置頂問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue中各選項及鉤子函數(shù)執(zhí)行順序詳解

    vue中各選項及鉤子函數(shù)執(zhí)行順序詳解

    今天小編就為大家分享一篇vue中各選項及鉤子函數(shù)執(zhí)行順序詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 基于Vue.js的表格分頁組件

    基于Vue.js的表格分頁組件

    這篇文章主要為大家詳細介紹了基于Vue.js的表格分頁組件使用方法,了解了Vue.js的特點,感興趣的朋友可以參考一下
    2016-05-05
  • vue3通過ref獲取子組件defineExpose的數(shù)據(jù)和方法

    vue3通過ref獲取子組件defineExpose的數(shù)據(jù)和方法

    defineExpose是Vue3中新增的選項,用于向父組件暴露子組件內(nèi)部的屬性和方法,通過defineExpose,子組件可以主動控制哪些屬性和方法可以被父組件訪問,本文主要介紹了vue3通過ref獲取子組件defineExpose的數(shù)據(jù)和方法,需要的朋友可以參考下
    2023-10-10
  • element?ui動態(tài)側(cè)邊菜單欄及頁面布局實現(xiàn)方法

    element?ui動態(tài)側(cè)邊菜單欄及頁面布局實現(xiàn)方法

    后臺管理系統(tǒng)經(jīng)常會使用到一個左側(cè)菜單欄,右側(cè)Tab頁的頁面顯示結(jié)構(gòu),這篇文章主要給大家介紹了關(guān)于element?ui動態(tài)側(cè)邊菜單欄及頁面布局實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2023-09-09

最新評論

耒阳市| 北流市| 深水埗区| 浙江省| 南郑县| 清徐县| 克拉玛依市| 泊头市| 长春市| 乐都县| 隆回县| 夏津县| 东乌| 高平市| 丰台区| 白朗县| 广昌县| 彰化市| 渝中区| 呼和浩特市| 章丘市| 三门县| 博爱县| 浏阳市| 富平县| 文昌市| 汪清县| 宁蒗| 金塔县| 宝鸡市| 江油市| 海丰县| 新巴尔虎左旗| 莫力| 泰州市| 弥勒县| 龙井市| 独山县| 和平区| 四平市| 乐亭县|