el-dialog弹框组件
说明
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|
| title | 标题 | String | - | 提示 |
| visible | 弹框控制 | Boolean | - | false |
| text | 文本 | String | - | 文本信息 |
| data | 接收的数据 | Object | - | - |
| center | 是否居中 | Boolean | - | false |
代码
<template>
<div>
<el-dialog
:title="title"
:visible="visible"
width="30%"
:modal="false"
top="0"
class="dialog"
:before-close="dialogVisible"
>
<span class="content" v-html="text"></span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible">取 消</el-button>
<el-button type="primary" @click="submit">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
props: {
title: {
type: String,
default: '提示'
},
visible: {
type: Boolean,
default: false
},
text: {
type: String,
default: '文本信息'
},
data: {
type: Object,
default: () => {}
},
center: {
type: Boolean,
default: false
}
},
methods: {
dialogVisible() {
this.$emit('update:visible', false);
},
submit() {
this.$emit('submit', `${this.title}再次确认按钮`);
}
}
};
</script>
<style lang="scss">
.dialog{
.content {
display: block;
text-align: center;
}
}
</style>
<template>
<div>
<el-button @click="del_content">测试</el-button>
<hb-dialog
:title="textObj.title"
:visible.sync="textObj.visible"
:text="textObj.text"
:center="textObj.center"
@submit="del_text"
>
</hb-dialog>
</div>
</template>
<script>
import hbDialog from '@/components/hb-dialog.vue';
export default {
components: {
hbDialog
},
data() {
return {
textObj: {
visible: false,
title: '',
text: '',
data: {},
center: ''
}
};
},
methods: {
del_content() {
this.textObj.visible = true;
this.textObj.title = '删除';
this.textObj.text = '你确定要删除吗?';
},
del_text(val) {
console.log(val);
this.textObj.visible = false;
this.$message.success('删除成功');
}
}
};
</script>