欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue+iview寫(xiě)個(gè)彈框的示例代碼

 更新時(shí)間:2017年12月05日 14:56:24   作者:小蒲蒲  
本篇文章主要介紹了vue+iview寫(xiě)個(gè)彈框的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

iView 是一套基于Vue.js的開(kāi)源UI組件庫(kù),主要服務(wù)于PC界面的中后臺(tái)產(chǎn)品。

1、iView的特性

1) 高質(zhì)量、功能豐富
2) 友好的API ,自由靈活地使用空間
3) 細(xì)致、漂亮的 UI
4) 事無(wú)巨細(xì)的文檔
5) 可自定義主題

2、iView的安裝:

1) 使用npm:

npm install --save iview 

2) CDN引入:

<link rel="stylesheet" href="css/iview.css" rel="external nofollow" > 
<script src="js/iview.min.js"></script> 

由于公司項(xiàng)目需要,所以目前搗鼓了vue+iview搭建了一個(gè)項(xiàng)目,用的環(huán)境都是1.0版本,在使用iview彈框中,由于需要先進(jìn)行彈框中表單的驗(yàn)證,驗(yàn)證通過(guò)才調(diào)用后臺(tái)接口,但是呢,iview彈框中的確定按鈕點(diǎn)擊一下彈框就消失了,怎么辦,要實(shí)現(xiàn)效果,各種翻看資料,最終解決辦法如下:

<template> 
  <!--取消訂單彈框和老板批準(zhǔn)彈框--> 
   <Modal 
    :visible.sync="show" 
    title="提示" 
    :loading="loading" 
    @on-ok="asyncOK"> 
    <Row> 
      <i-col span="3"></i-col> 
      <i-col span="1" style="color:red;margin-top:7px;font-weight: bold">*</i-col> 
      <i-col span="2" style="margin-top:5px;">授權(quán)碼</i-col> 
      <i-col span="6"> 
       <input class="ivu-input errorInput" type="number" v-model="code" placeholder="請(qǐng)輸入" @blur="codeBlur"> 
       <div class="fade-transition ivu-form-item-error-tip error" style="display:none;position: static">驗(yàn)證碼錯(cuò)誤</div> 
      </i-col> 
      <i-col span="3" style="margin-left:5px;"> 
          <i-button type="primary" :loading="loadingBtn" @click="toLoading"> 
            <span v-if="!loadingBtn">{{btnText}}</span> 
            <span v-else>{{btnText}}</span> 
          </i-button> 
      </i-col> 
    </Row> 
  </Modal> 
</template> 
<script type="text/javascript"> 
import { 
  orderService 
} from 'jo' 
  export default { 
    props:["show"], 
    data(){ 
      return { 
        loading:true, 
        loadingBtn:false,//點(diǎn)擊申請(qǐng)取消按鈕后loading 
        btnText:'申請(qǐng)取消訂單', 
        code:"",//驗(yàn)證碼 
        clearTime:"",//定時(shí)器 
        countDownIndex:60,//60秒倒計(jì)時(shí) 
      } 
    }, 
    methods:{ 
      codeBlur(){ 
        if(this.code == ""){ 
          $(".errorInput").css("border","1px solid red") 
          $(".error").css("display","block") 
        }else{ 
          $(".errorInput").css("border","1px solid #d7dde4") 
          $(".error").css("display","none") 
        } 
      }, 
       toLoading(){ 
          //調(diào)用發(fā)送驗(yàn)證碼接口 
   //      let operName = window.sessionStorage.getItem("userName") 
            // accountService.recommenderGetCode(operName,this.selectDelteOne.recommender,1) 
          this.countDown()   
 
      }, 
      countDown(){ 
          //倒計(jì)時(shí) 
          var that = this; 
          that.loadingBtn = true 
          that.btnText = that.countDownIndex+"秒" 
          that.countDownIndex--; 
          that.clearTime = setInterval(function(){ 
            console.log(that.countDownIndex) 
            if(that.countDownIndex == 0){ 
                that.countDownIndex = 60 
                that.btnText = "發(fā)送" 
                that.loadingBtn = false 
                window.clearTimeout(that.clearTime) 
              return false 
            } 
             that.btnText = that.countDownIndex+"秒" 
             that.countDownIndex--; 
          },1000) 
         // } 
      }, 
      asyncOK(){ 
        //提交 
        if(this.code == ""){ 
          this.show = true 
          console.log('sdasda'+this.show) 
          $(".errorInput").css("border","1px solid red") 
          $(".error").css("display","block") 
          this.loading = false 
          this.$nextTick(() => { this.loading = true;}); 
          return 
        } 
        this.$nextTick(() => {this.loading = true; }); 
         // let operId = window.sessionStorage.getItem("crmUserId") 
      //    let operName = window.sessionStorage.getItem("userName") 
      //    if(this.isApply){ 
      //    orderService.sendSingleUpdate03(this.data, 3, operName, operId, this.code).then(res => this.updateList(res.message)) 
      //    }else{ 
      //     orderService.sendSingleUpdate03(this.data, 2, operName, operId, this.code).then(res => this.updateList(res.message)) 
      //    } 
      } 
    } 
  } 
</script> 

大概思路就是先命名一個(gè)變量loading,這里必須為true,然后在點(diǎn)擊彈框的提交按鈕的時(shí)候先把loading設(shè)置為false,然后必須加上

this.$nextTick(() => { this.loading = true;});就能實(shí)現(xiàn)效果啦,具體實(shí)現(xiàn)原理,這坑遇到了,就先記錄下來(lái)  

傳送門(mén)-->https://github.com/iview/iview/issues/597#issuecomment-292422473 

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

相關(guān)文章

  • Vue.directive()的用法和實(shí)例詳解

    Vue.directive()的用法和實(shí)例詳解

    這篇文章主要介紹了Vue.directive()的用法和實(shí)例 ,需要的朋友可以參考下
    2018-03-03
  • 在Vue頁(yè)面中如何更優(yōu)雅地引入圖片詳解

    在Vue頁(yè)面中如何更優(yōu)雅地引入圖片詳解

    我們?cè)赩ue.js項(xiàng)目中經(jīng)常需要引用圖片,所以下面這篇文章主要介紹了關(guān)于在Vue頁(yè)面中如何更優(yōu)雅地引入圖片的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • vue工程師必會(huì)封裝的埋點(diǎn)指令思路知識(shí)總結(jié)

    vue工程師必會(huì)封裝的埋點(diǎn)指令思路知識(shí)總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于vue工程師必會(huì)封裝的埋點(diǎn)指令思路知識(shí),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Vue條件渲染與列表渲染

    Vue條件渲染與列表渲染

    這篇文章主要介紹了Vue條件渲染與列表渲染,條件渲染包括v-if、v-show等內(nèi)容,文章對(duì)條件渲染及列表渲染介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • vant樣式不生效問(wèn)題的解決辦法

    vant樣式不生效問(wèn)題的解決辦法

    這篇文章主要給大家介紹了vant樣式不生效問(wèn)題的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Vue的模板語(yǔ)法以及實(shí)戰(zhàn)案例

    Vue的模板語(yǔ)法以及實(shí)戰(zhàn)案例

    Vue使用了基于HTML的模板語(yǔ)法,允許開(kāi)發(fā)者聲明式地將DOM綁定至底層Vue實(shí)例的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Vue的模板語(yǔ)法以及案例的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • vue項(xiàng)目實(shí)戰(zhàn)之優(yōu)雅使用axios

    vue項(xiàng)目實(shí)戰(zhàn)之優(yōu)雅使用axios

    axios是一個(gè)基于promise的HTTP庫(kù),可以用在瀏覽器和?node.js?中,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目實(shí)戰(zhàn)之優(yōu)雅使用axios的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • vue實(shí)現(xiàn)微信二次分享以及自定義分享的示例

    vue實(shí)現(xiàn)微信二次分享以及自定義分享的示例

    這篇文章主要介紹了vue實(shí)現(xiàn)微信二次分享以及自定義分享的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 基于axios在vue中的使用

    基于axios在vue中的使用

    這篇文章主要介紹了關(guān)于axios在vue中的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Vue.js框架實(shí)現(xiàn)購(gòu)物車(chē)功能

    Vue.js框架實(shí)現(xiàn)購(gòu)物車(chē)功能

    這篇文章主要為大家詳細(xì)介紹了Vue.js框架實(shí)現(xiàn)購(gòu)物車(chē)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評(píng)論