国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue一步步實(shí)現(xiàn)alert功能。

BDEEFE / 3337人閱讀

摘要:原生框樣式丑陋。有一定自適應(yīng)的設(shè)計(jì)。在內(nèi)部是一個(gè)垂直居中的框大小可以固定。在小屏上屏幕寬度小于取消了固定寬度。不希望每次都一個(gè)實(shí)例。是默認(rèn)的模版標(biāo)記。接受一個(gè)的參數(shù)配置。代碼這一段代碼作用是一開始就把實(shí)例插入到底部方便直接調(diào)用。

原生alert的缺點(diǎn)

會(huì)阻塞一切操作,影響用戶體驗(yàn)

很多瀏覽器會(huì)默認(rèn)靜止alert,例如微信。

原生alert框樣式丑陋。

demo地址: 用力點(diǎn)我
項(xiàng)目地址: web-style 希望大家多多關(guān)注。項(xiàng)目里有css樣式和vue組件。目標(biāo)是快速構(gòu)建后臺(tái)系統(tǒng)。有一定自適應(yīng)的設(shè)計(jì)。

css

思路:最外層是一個(gè)黑色透明撐滿全屏幕的div并且是fixed的div.modal-mask

在mask內(nèi)部是一個(gè)垂直居中的div框大小可以固定。垂直居中方法有幾種可選。我選用的是flex。
關(guān)鍵性的css代碼如下

.modal-mask{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(55,55,55,.6);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-confirm{
  width: 400px;
  box-sizing: border-box;
  padding: 30px 40px;
  background-color: #fff;
  border-radius: 6px;
}
@media only screen and (max-width: 640px) {
 .modal-confirm{
    width: 100%;
    margin: 0 20px;
    padding: 10px 20px; 
  }
}

其中modal-confirm是alert框,有固定的寬度400px 還有padding。 然后我們做了一個(gè)小小的自適應(yīng)。 在小屏上(屏幕寬度小于640px)取消了固定寬度。減少了padding的值,看起來(lái)更小巧。

開發(fā)vue組件 vue template

首先我希望這個(gè)組件功能能像原生的alert事件一樣隨時(shí)隨地的方便調(diào)用。 不希望每次都new Vue({})一個(gè)實(shí)例。 所以我做了一些不一樣的設(shè)計(jì)。

v-show是控制alert組件的顯示和隱藏的指令。 {{ }}是vue默認(rèn)的模版標(biāo)記。
@click 是綁定click事件的指令

vue data
new Vue({
    el: "#V-confirm",
    data: {
              show: false,
              onCancel: false,
              onOk: false,
              title: "",
              content: ""
          }
    })

show 是控制顯示隱藏的標(biāo)記。

onCancel onOk 是點(diǎn)擊取消或者確定時(shí)候觸發(fā)的回調(diào)。

title content 是alert顯示的文本。

vue methods
 methods: {
      op(type){
        this.show = false
        if(type == "1"){
          if(this.onCancel) this.onCancel()
        }else{
          if(this.onOk) this.onOk()
        }

        this.onCancel = false
        this.onOk = false
        
        document.body.style.overflow = ""
      },
      alert(setting){
        this.title = setting.title ||  "標(biāo)題"
        this.content = setting.content || "內(nèi)容"
        this.onOk = setting.onOk || false
        this.onCancel = setting.onCancel || false
        this.show = true
        document.body.style.overflow = "hidden"
      }
    }
  }

alert(setting) 方法是控制顯示alert組件的方法。接受一個(gè)object的參數(shù)配置。
op(type) 方法是點(diǎn)擊取消和確定按鈕的時(shí)候觸發(fā)的時(shí)候。

hack代碼
  var element = document.createElement("div");
  element.id = "V-confirm"
  element.innerHTML = template
  document.body.appendChild(element)

這一段代碼作用是一開始就把vue實(shí)例插入到 body 底部,方便直接 alert 調(diào)用。

加入一些動(dòng)畫效果

依賴的是vue指令 transition 具體的用法教程 大家去 過(guò)渡-傳送門

.modal-enter, .modal-leave {
  opacity: 0;
}
.modal-transition{
  transition: all .3s ease;
}

.modal-enter .modal-confirm,
.modal-leave .modal-confirm {
  transform: scale(1.1);
}
.modal-transition{
  transition: all .3s ease;
}
用法
var setting = {}
    setting.title = "你確定刪除嗎?"
    setting.content = "刪除不可以恢復(fù)..."
    setting.onOk = function(){}
    setting.onCancel = function(){}
    
    
$confirm.alert(setting)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/79627.html

相關(guān)文章

  • 步步帶你做vue后臺(tái)管理框架()——介紹框架

    摘要:組件已經(jīng)有了,我們的框架還有哪些特性呢自適應(yīng)自適應(yīng)現(xiàn)在很多框架都沒有自適應(yīng)功能,而很多使用場(chǎng)景也在手機(jī)上會(huì)有,這也是后臺(tái)管理框架誕生的原因之一。 系列教程《一步步帶你做vue后臺(tái)管理框架》第一課 github地址:vue-framework-wz線上體驗(yàn)地址:立即體驗(yàn)??《一步步帶你做vue后臺(tái)管理框架》第一課:介紹框架《一步步帶你做vue后臺(tái)管理框架》第二課:上手使用《一步步帶你做v...

    XiNGRZ 評(píng)論0 收藏0
  • vue1.x 基礎(chǔ)使用(

    摘要:最近項(xiàng)目進(jìn)度慢下來(lái)了,花點(diǎn)時(shí)間總結(jié)一下。文章會(huì)從到的一些說(shuō)明以及使用,也會(huì)文章中的代碼共享出來(lái)。詳細(xì)請(qǐng)關(guān)注后續(xù)。后面陸續(xù)會(huì)換到其他的一些工具,如,等。也會(huì)介紹一些常用的工具。如下一代的語(yǔ)法編譯器,的路由,的交互。 最近項(xiàng)目進(jìn)度慢下來(lái)了,花點(diǎn)時(shí)間總結(jié)一下。文章會(huì)從vue1.x 到2.x的一些說(shuō)明以及使用,也會(huì)文章中的代碼共享出來(lái)。詳細(xì)請(qǐng)關(guān)注后續(xù)。 簡(jiǎn)介:感慨是會(huì)用到一些第三方的模塊下載工...

    xuexiangjys 評(píng)論0 收藏0
  • vue1.x 基礎(chǔ)使用(

    摘要:最近項(xiàng)目進(jìn)度慢下來(lái)了,花點(diǎn)時(shí)間總結(jié)一下。文章會(huì)從到的一些說(shuō)明以及使用,也會(huì)文章中的代碼共享出來(lái)。詳細(xì)請(qǐng)關(guān)注后續(xù)。后面陸續(xù)會(huì)換到其他的一些工具,如,等。也會(huì)介紹一些常用的工具。如下一代的語(yǔ)法編譯器,的路由,的交互。 最近項(xiàng)目進(jìn)度慢下來(lái)了,花點(diǎn)時(shí)間總結(jié)一下。文章會(huì)從vue1.x 到2.x的一些說(shuō)明以及使用,也會(huì)文章中的代碼共享出來(lái)。詳細(xì)請(qǐng)關(guān)注后續(xù)。 簡(jiǎn)介:感慨是會(huì)用到一些第三方的模塊下載工...

    pkhope 評(píng)論0 收藏0
  • 認(rèn)識(shí)Vue組件

    摘要:認(rèn)識(shí)組件組件是強(qiáng)大的功能之一。注意,所有的組件同時(shí)也都是的實(shí)例,可接受相同的選項(xiàng)對(duì)象。組件全局注冊(cè)時(shí)通過(guò)方式注冊(cè)。考慮到會(huì)出現(xiàn)禁止使用的場(chǎng)景,需要禁止和啟用組件的功能,所以需要。同樣也是先在子組件的選項(xiàng)中定義好傳遞過(guò)來(lái)的數(shù)據(jù)。 前言 Vue.js是一套構(gòu)建用戶界面的漸進(jìn)式框架(官方說(shuō)明)。通俗點(diǎn)來(lái)說(shuō),Vue.js是一個(gè)輕量級(jí)的,易上手易使用的,便捷,靈活性強(qiáng)的前端MVVM框架。簡(jiǎn)潔的A...

    xumenger 評(píng)論0 收藏0
  • 步步帶你做vue后臺(tái)管理框架(二)——上手使用

    摘要:系列教程一步步帶你做后臺(tái)管理框架第二課地址線上體驗(yàn)地址立即體驗(yàn)閑扯再多不會(huì)用也沒白搭,這節(jié)課我來(lái)帶大家直接上手框架,體驗(yàn)到簡(jiǎn)單方便之后你就會(huì)愛上這個(gè)框架欲罷不能的。在中加入一個(gè)新的屬性,是一個(gè)函數(shù)。 系列教程《一步步帶你做vue后臺(tái)管理框架》第二課 github地址:vue-framework-wz線上體驗(yàn)地址:立即體驗(yàn)   閑扯再多不會(huì)用也沒白搭,這節(jié)課我來(lái)帶大家直接上手框架,體驗(yàn)到...

    yy13818512006 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<