摘要:原生框樣式丑陋。有一定自適應(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ì)。
思路:最外層是一個(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ì)。
{{ title }}
{{ content }}
v-show是控制alert組件的顯示和隱藏的指令。 {{ }}是vue默認(rèn)的模版標(biāo)記。
@click 是綁定click事件的指令
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 methodsmethods: { 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í)候。
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
摘要:組件已經(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...
摘要:最近項(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ì)用到一些第三方的模塊下載工...
摘要:最近項(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ì)用到一些第三方的模塊下載工...
摘要:認(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...
摘要:系列教程一步步帶你做后臺(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)到...
閱讀 1361·2021-11-24 09:39
閱讀 1354·2021-11-04 16:12
閱讀 2697·2021-09-24 09:47
閱讀 3343·2021-09-01 10:50
閱讀 1482·2019-08-30 15:55
閱讀 1429·2019-08-30 15:43
閱讀 650·2019-08-30 11:08
閱讀 3587·2019-08-23 18:33