vue弹窗消息组件的使用方法


Posted in Javascript onSeptember 24, 2020

本文实例为大家分享了vue弹窗消息组件的具体代码,供大家参考,具体内容如下

本来打算写一个那种提示完了自动消失的弹窗的,但是没有想好淡入淡出的效果。所以暂时算是半成品。

练习代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>ys-alert-component</title>
 <style>
 input {
 border-radius: 5px;
 border: 1px solid #2f9df9;
 background-color: #39befb;
 background: -webkit-gradient(linear, 0 0, 0 100%, from(#39befb),
 to(#2091fc));
 background: -moz-gradient(linear, 0 0, 0 100%, from(#39befb),
 to(#2091fc));
 background: -o-gradient(linear, 0 0, 0 100%, from(#39befb), to(#2091fc));
 background: -ms-gradient(linear, 0 0, 0 100%, from(#39befb), to(#2091fc));
 color: #FFFFFF;
 height: 28px;
 padding: 0 20px;
 cursor: pointer;
 line-height: 28px;
 display: inline-block;
 margin-right: 5px;
 outline: none;
 }
 .ys-alert {
 display: inline-block;
 height: 26px;
 padding: 8px 25px;
 min-width: 200px;
 border-radius: 5px;
 box-shadow: 0 4px 12px rgba(0,0,0,.5);
 background: #b8d2f3;
 margin: 50px;
 }
 .icon {
 float: left;
 width: 26px;
 height: 26px;
 border: 3px solid #fff;
 border-radius: 50%;
 font-size: 16px;
 line-height: 20px;
 font-weight: bold;
 text-align: center;
 color: #fff;
 box-sizing: border-box;
 margin-right: 8px;
 }
 .content {
 float: left;
 line-height: 26px;
 font-size: 15px;
 color: #fff;
 }
 /*成功的样式*/
 .success {
 background: #9bdda7;
 }
 /*失败的样式*/
 .error {
 background: #f7d13b;
 }
 /*警告样式*/
 .warning {
 background: #e98c97;
 } 
 </style>
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
 <div id="app">
 <input type="button" value="呼唤默认的按钮" @click="alertShow('info')">
 <input type="button" value="呼唤成功的按钮" @click="alertShow('success')">
 <input type="button" value="呼唤失败的按钮" @click="alertShow('error')">
 <input type="button" value="呼唤警告的按钮" @click="alertShow('warning')">
 <input type="button" value="呼唤美美哒博客" @click="alertShow('yuki')">
 <ys-alert-component 
 icon-bar="O" 
 type="info" 
 v-if="info" 
 alert-content="我是默认的按钮哟">
 </ys-alert-component>
 <ys-alert-component 
 icon-bar="V" 
 type="success" 
 v-if="success" 
 alert-content="我是成功的按钮哟"> 
 </ys-alert-component>
 <ys-alert-component 
 icon-bar="X" 
 type="error" 
 v-if="error" 
 alert-content="我是失败的按钮哟">
 </ys-alert-component>
 <ys-alert-component 
 icon-bar="!" 
 type="waring" 
 v-if="warning" 
 alert-content="我是警告的按钮哟">
 </ys-alert-component>
 <ys-alert-component 
 icon-bar="E" 
 type="" 
 v-if="yuki" 
 alert-content="我是灰色定制的按钮哟" 
 style="background-color: #ccc; color: #fff;">
 <div slot="alert-content">
 <span>章鱼不丸子</span>
 <a href="http://www.yuki.kim" rel="external nofollow" >http://www.yuki.kim</a>
 </div>
 </ys-alert-component>
 </div>
 <script>
 /*
 props:
 type:
  info: 默认
  success: 成功
  error: 失败
  warning:警告
 iconBar: 字符串,我没有图标,就用字母写的。很low...
 alertContent: 定制提醒的内容
 hideIcon: 隐藏或者显示丑丑的图标
 slot:
 alert-content: 定制提醒信息内容及icon整套模板

 methods:
 无,没有写方法

 */
 Vue.component("ys-alert-component", {
 props: {
 iconBar: {
  type: String,
  default: ""
 },
 alertContent: {
  type: String,
  default: "请定制提醒内容"
 },
 hideIcon: {
  type: Boolean,
  default: false
 },
 type: {
  type: String,
  default: ""
 }
 },
 template:`
 <div class="ys-alert" :class="type">
  <slot name="alert-content">
  <div class="icon" >{{ iconBar }}</div>
  <div class="content">
  {{ alertContent }}
  </div>
  </slot>
 </div>`

 })


 var vm = new Vue({
 el: "#app",
 data: {
 info: false,
 error: false,
 success: false,
 warning: false,
 yuki: false
 },
 methods: {
 alertShow (type) {
  switch (type) {
  case "info" :
  this.info = !this.info;
  //setTimeout("vm.info = !vm.info", 2000);
  break;
  case "error" :
  this.error = !this.error;
  //setTimeout("vm.error = !vm.error", 2000);
  break;
  case "success" :
  this.success = !this.success;
  //setTimeout("vm.success = !vm.success", 2000);
  break;
  case "warning" :
  this.warning = !this.warning;
  //setTimeout("vm.warning = !vm.warning", 2000);
  break;
  default:
  this.yuki = !this.yuki;
  //setTimeout("vm.yuki = !vm.yuki", 2000);
  }
 }
 }
 })
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
(function($){...})(jQuery)的意思
Jul 22 Javascript
Javascript操作cookie的函数代码
Oct 03 Javascript
最好用的省市二级联动 原生js实现你值得拥有
Sep 22 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
基于jQuery滑动杆实现购买日期选择效果
Sep 15 Javascript
vue绑定class与行间样式style详解
Aug 16 Javascript
js实现鼠标移动到图片产生遮罩效果
Oct 21 Javascript
js canvas实现画图、滤镜效果
Nov 27 Javascript
微信小程序实现获取小程序码和二维码java接口开发
Mar 29 Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 Javascript
vue实现直播间点赞飘心效果的示例代码
Sep 20 Javascript
JavaScript实现打砖块游戏
Feb 25 Javascript
layui实现动态和静态分页
Apr 28 #Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 #Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 #Javascript
vue组件实现弹出框点击显示隐藏效果
Oct 26 #Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 #Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 #Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 #Javascript
You might like
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
几种实用的pythonic语法实例代码
2018/02/24 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
九州传奇上机题
2014/07/10 面试题
区域总监的岗位职责
2013/11/21 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
公司贷款承诺书
2014/05/30 职场文书
电话客服工作职责
2014/07/27 职场文书
党员群众路线对照检查材料
2014/08/31 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
公司财务管理制度
2015/08/04 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
vue实现简单数据双向绑定
2021/04/28 Vue.js
给numpy.array增加维度的超简单方法
2021/06/02 Python
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS