91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue彈窗組件怎么用

發布時間:2021-06-26 15:27:15 來源:億速云 閱讀:169 作者:小新 欄目:web開發

這篇文章主要為大家展示了“vue彈窗組件怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue彈窗組件怎么用”這篇文章吧。

具體內容如下

彈窗是一個項目必備的復用利器,所以封裝起來,保證項目ui一致,是很有必要的。學了一段時間vue,想想還是用vue寫一下吧。用的很小白,但是會寫出來了,說明我也有進步一丟丟了。繼續加油….

代碼貼圖如下,樣式比較丑,不要介意…

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>ys-vue-modal-component</title>
  <style>
    p,h5{
      margin:0;
    }
    .modal{
      width: 480px;
      background-color: #fff;
      border: 1px solid rgba(0, 0, 0, .3);
      border-radius: 6px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
      margin: 50px;
    }
    .modal-header {
      color: #fff;
      background: cadetblue;
      border-radius: 6px 6px 0 0;
      padding: 15px;
      border-bottom: 1px solid #5e9fa1;
    }
    .modal-content div {
      padding: 15px 10px;
    }
    .modal-footer {
      padding: 15px;
      text-align: right;
      border-top: 1px solid #e5e5e5;
    }
    .btn {
      border: 1px solid #d1d1d1;
      border-radius: 3px;
      background-color: #f7f7f7;
      background: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f7f7),
     to(#f2f2f2));
      background: -moz-gradient(linear, 0 0, 0 100%, from(#f7f7f7),
     to(#f2f2f2));
      background: -o-gradient(linear, 0 0, 0 100%, from(#f7f7f7), to(#f2f2f2));
      background: -ms-gradient(linear, 0 0, 0 100%, from(#f7f7f7), to(#f2f2f2));
      height: 28px;
      padding: 0 20px;
      cursor: pointer;
      line-height: 28px;
      display: inline-block;
      color: #666666;
      margin-right: 5px;
      outline: none;
    }
    .blue {
       border: 1px solid #5e9fa1;
      background-color: #5e9fa1;
      background: -webkit-gradient(linear, 0 0, 0 100%, from(#74c4c6),
     to(#5e9fa1));
      background: -moz-gradient(linear, 0 0, 0 100%, from(#74c4c6),
     to(#5e9fa1));
      background: -o-gradient(linear, 0 0, 0 100%, from(#74c4c6), to(#5e9fa1));
      background: -ms-gradient(linear, 0 0, 0 100%, from(#74c4c6), to(#5e9fa1));
      color: #FFFFFF;
    }    
  </style>
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
  <div id="app"> 
    <input type="button" class="btn blue" value="點擊我,呼喚彈窗,再來一遍" v-if="isHide" @click="isHide=!isHide">
    <ys-modal-component 
       v-if="!isHide"
       modal-title="溫馨提示" 
       ok-btn="確認購買" 
       cancel-btn="去意已決"
       @on-ok="ok"
       @on-cancel="cancel"
     >
      <div slot="modal-content">
        尊敬的用戶,您購買的商品將于支付成功后3-7個工作日內發貨,敬請周知。祝您購物愉快!
      </div>
    </ys-modal-component>
  </div>
  <script>
    /*
      props:
        modalTitle: 彈窗標題
        okBtn: 確認按鈕
        cancelBtn: 取消按鈕
        注意事項:傳參時候使用烤串的書寫方式xx-xxx
      slot:
        modal-content: 內容區域
        modal-footer: 頁腳按鈕區域
      methods: 
        okHandle: 觸發確認on-ok自定義事件
        cancelHandle: 觸發取消on-cancel自定義事件
     */
    Vue.component('ys-modal-component', {
      props: {
        modalTitle: {
          type: String,
          default: '標題區域'
        },
        okBtn: {
          type: String,
          default: '確認'
        },
        cancelBtn: {
          type: String,
          default: '取消'
        }
      },
      template: `
        <div class="modal">
          <div class="modal-header">
            <h5>{{ modalTitle }}</h5>
          </div>
          <div class="modal-content">
            <div>
              <slot name="modal-content">內容區域</slot>
            </div>
          </div>
          <div class="modal-footer">
              <input class="btn blue" type="button" v-model="okBtn" @click="okHandle" />
              <input class="btn" type="button" v-model="cancelBtn" @click="cancelHandle" />
          </div>
        </div>
      `,
      methods: {
        okHandle () {
          console.log("點擊確定");
          this.$emit("on-ok"); 
        },
        cancelHandle () {
          console.log("點擊取消");
          this.$emit("on-cancel");
        }
      }
    })


    new Vue({
      el: "#app",
      data: {
        isHide: false
      },
      methods: {
        ok () {
          alert("歡迎您購買本產品");
        },
        cancel () {
          this.isHide = !this.isHide;
        }
      }
    })
  </script>
</body>
</html>

以上是“vue彈窗組件怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

彰化市| 黔西| 新昌县| 寿宁县| 桃江县| 五指山市| 昭觉县| 天峻县| 富川| 防城港市| 鹤壁市| 安福县| 喀喇沁旗| 托克逊县| 大余县| 凤山市| 阿克陶县| 灌南县| 加查县| 鲁山县| 榆林市| 寿光市| 固原市| 旌德县| 巩留县| 昭苏县| 潞城市| 渑池县| 潮州市| 华阴市| 清徐县| 翁牛特旗| 武冈市| 扶风县| 罗甸县| 自贡市| 平度市| 大同市| 墨竹工卡县| 乌鲁木齐县| 昂仁县|