前端基础学习-MessageBox的DIY方法
前端基础学习-MessageBox的DIY方法
在element-ui上对于MessageBox其实给我们提供了很多种类,但是很多情况下我们需要对他们的样式进行改写,下面记录我遇到过的两个改写的情况 (1)$confirm需要展示多行
const confirmText = [每条数据只能检测三次, 确认检查吗?]
const newDatas = []
const h = this.$createElement
for (const i in confirmText) {
newDatas.push(h(p, null, confirmText[i]))
}
this.$confirm(, 提示, {
message: h(div, null, newDatas),
confirmButtonText: 确定,
type: warning
}).then(() => {
this.$message.success(检查成功!)
}).catch(() => {
this.$message({
type: info,
message: 已取消检查
})
})
这里主要把多行数据推入数组然后循环展示 (2)展示多行并且需要改变其中一行和整体的样式 不要介意样式比较丑。只是为了做出这个效果 其实后来发现基本上使用 m s g b o x 就 可 以 了 , 如 果 需 要 msgbox就可以了,如果需要 msgbox就可以了,如果需要confirm,只用加上
type: warning
整体代码
this.confirmTitle = 该条数据为默认数据
const confirmText = 确定进行删除吗?(不能真的删除)
const h = this.$createElement
this.$msgbox({
title: 删除,
message: h(p, null, [
h(p, null, this.confirmTitle),
// 对第二行单独设置样式
h(p, {
style: background-color: #f4f9ff;width:100%;margin-top: 10px }, confirmText)
]),
showCancelButton: true,
confirmButtonText: 确定,
cancelButtonText: 取消,
customClass: message_style,
// 可以选择没有tpye,则没有感叹号图标
type: warning
}).then(() => {
this.$message.success(删除成功!)
}).catch(() => {
this.$message({
type: info,
message: 已取消删除
})
})
这种情况下的几个注意点 1、单独改变单行的样式
h(p, {
style: background-color: #f4f9ff;width:100%;margin-top: 10px }, confirmText)
2、整体改变样式 在$msgbox中添加customClass,然后写上对应的样式
customClass: message_style,
<style lang="scss">
.message_style {
width: 30%;
background-color: #EBEEF5;
}
</style>
