模拟系统的消息提示框而实现的一套模态对话框组件,用于消息提示、确认消息和提交内容。
<template>
<cb-button @click="showAlert">点击打开消息弹窗</cb-button>
</template>
<script>
export default {
methods: {
showAlert() {
this.$cbAlert('这是一段内容', '标题名称');
}
}
}
</script>
<template>
<cb-button @click="showConfirm">点击打开消息弹窗</cb-button>
</template>
<script>
export default {
methods: {
async showConfirm() {
const { isOk } = await this.$cbConfirm('你确定要继续吗?', '提示');
if (isOk) {
this.$cbNotify.success('你按了确认~');
}
else {
this.$cbNotify.success('你取消了~');
}
}
}
}
</script>
<template>
<cb-button @click="showPrompt">点击打开消息弹窗</cb-button>
</template>
<script>
export default {
methods: {
async showPrompt() {
const { isOk, text } = await this.$cbPrompt('请输入昵称', '提示', {
rules: { required: true }
});
if (isOk) {
this.$cbNotify.success(`你按了确认~并输入了 ${text}`);
}
else {
this.$cbNotify.success('你取消了~');
}
}
}
}
</script>
<template>
<cb-button @click="showPromptAsync">点击打开消息弹窗</cb-button>
</template>
<script>
export default {
methods: {
async showPromptAsync() {
const { isOk, text } = await this.$cbPrompt('请输入昵称', '提示', {
rules: { required: true },
beforeClose({ isOk, text, button }) {
if (isOk) {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, 2000);
});
}
}
});
if (isOk) {
this.$cbNotify.success(`你按了确认~并输入了 ${text}`);
}
else {
this.$cbNotify.success('你取消了~');
}
}
}
}
</script>
<cb-button @click="$cbNotify.success('你按了按钮~')" v-cb-confirm>点击执行操作</cb-button>
直接在组件中使用 this 调用
方法名 | 说明 | 参数 | 返回值 |
---|---|---|---|
$cbAlert | 展示消息提示弹窗 | message, title, options | promise |
$cbConfirm | 展示消息确认弹窗 | message, title, options | promise |
$cbPrompt | 展示提交内容弹窗 | message, title, options | promise |
参数名 | 说明 | 类型 | 默认值 |
---|---|---|---|
width | 弹窗宽度,单位为 px | number / string | 396px |
hideClose | 是否隐藏弹窗关闭按钮 | boolean | false |
placeholder | 用于 prompt 弹窗,设置输入框 placeholder 内容 | string | — |
label | 用于 prompt 弹窗,设置输入框 label 内容 | string | — |
multiline | 用于 prompt 弹窗,是否是多行输入框。 | boolean | false |
rows | 用于 prompt 弹窗,设置多行输入框行数。 | number | 1 |
rules | 用于 prompt 弹窗,设置输入框的表单验证规则,具体规则参考表单验证章节。 | object | — |
defaultValue | 用于 prompt 弹窗,设置输入框默认值。 | string | — |
beforeClose | 用于 prompt 弹窗,关闭前的回调,可用于暂停弹窗的关闭。isOk 表示是否按了确认按钮;text 表示输入的内容;button 表示按下的按钮名称,可能值是 yes / cancel / close;promise resolve false 时阻止弹窗关闭,否则弹窗关闭。 | ({ isOk, text, button }) => promise | — |
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
v-cb-confirm | 使用这个指令会拦截组件的 click 和 submit 事件,用户确认后才会继续执行原事件处理函数。如需要定制确认弹窗的文案,可以给指令传递 string 或 object 类型的参数,string 类型参数只设置标题,object 类型参数可以设置标题和内容 { title, message } | — | — | — |