本篇文章主要介绍了vue组件之Alert的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
前言
本文主要Alert 组件的大致框架, 提供少量可配置选项。 旨在大致提供思路
Alert
用于页面中展示重要的提示信息。
templat模板结构
<template>
<div v-show="visible" class="Alert">
<i v-show="closable" class="iconhandle close" @click="close"></i>
<slot></slot>
</div>
</template>
大致结构 alert框,icon图标, slot插值 (其他样式颜色选项...)
如果需要动画 可以在外层包上Vue内置组件transition
<transition name="alert-fade">
</transition>
script
export default {
name: 'Alert',
props: {
closable: {
type: Boolean,
default: true
},
show: {
type: Boolean,
default: true,
twoWay: true
},
type: {
type: String,
default: 'info'
}
},
data() {
return {
visible: this.show
};
},
methods: {
close() {
this.visible = false;
this.$emit('update:show', false);
this.$emit('close');
}
}
};
- name: 组件的名字
- props: 属性
- methods: 方法
点击关闭 向外暴露2个事件
使用
import Alert from './Alert.vue'
Alert.install = function(Vue){
Vue.component('Alert', Alert);
}
export default Alert
<Alert :closable="false">
这是一个不能关闭的alert
</Alert>
<Alert>
这是一个可以关闭的alert
</Alert>
Attribute
参数 |
说明 |
类型 |
可选值 |
默认值 |
closable |
是否可关闭 |
boolean |
— |
true |
show |
是否显示 |
boolean |
— |
true |
Event
事件名称 |
说明 |
回调参数 |
update:show |
关闭时触发,是否显示false |
false |
close |
关闭时触发 |
— |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。 |