当前位置:首页 > 前端教程

elementui prompt

2026-03-06 00:44:12前端教程

ElementUI Prompt 组件使用指南

ElementUI 的 Prompt 组件常用于弹窗式交互,通常结合 ElMessageBox 实现。以下是关键方法和示例:

基本调用方式

通过 ElMessageBox.prompt 触发弹窗,接收用户输入:

elementui prompt

this.$prompt('请输入内容', '标题', {
  confirmButtonText: '确认',
  cancelButtonText: '取消',
  inputPattern: /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/,
  inputErrorMessage: '邮箱格式不正确'
}).then(({ value }) => {
  this.$message({ type: 'success', message: '输入的是: ' + value });
}).catch(() => {
  this.$message({ type: 'info', message: '取消输入' });        
});

参数配置

  • title: 弹窗标题(支持 HTML 字符串)
  • message: 提示内容(支持 VNode 或 HTML)
  • inputType: 输入框类型(默认为 text,可设为 textarea
  • inputValue: 输入框默认值
  • inputPlaceholder: 输入框占位文本
  • inputValidator: 自定义校验函数,需返回布尔值或错误信息字符串

自定义验证示例

this.$prompt('请输入手机号', '验证', {
  inputValidator: (val) => {
    return /^1[3-9]\d{9}$/.test(val) || '手机号格式错误';
  }
}).then(({ value }) => {
  console.log('验证通过:', value);
});

异步关闭处理

通过 beforeClose 实现异步验证:

elementui prompt

this.$prompt('请输入验证码', '延迟关闭', {
  beforeClose: (action, instance, done) => {
    if (action === 'confirm') {
      setTimeout(() => {
        done();
      }, 1000);
    } else {
      done();
    }
  }
});

样式定制

可通过 customClass 添加自定义 CSS 类名:

this.$prompt('内容', '标题', {
  customClass: 'custom-prompt'
});

对应样式需全局定义:

.custom-prompt .el-message-box__content {
  padding: 20px;
}

注意事项

  1. 在 Vue 3 环境中需使用 ElMessageBox 的 Composition API 写法
  2. 输入框的校验规则应同时设置 inputPatterninputErrorMessage
  3. 弹窗层级可通过 zIndex 参数调整(默认 2000)
  4. 若需完全自定义界面,建议使用 Dialog 组件替代

标签: elementuiprompt
分享给朋友:

相关文章

elementui使用

elementui使用

安装 Element UI 通过 npm 或 yarn 安装 Element UI: npm install element-ui --save # 或 yarn add element-ui 在项…

elementui视频

elementui视频

以下是关于 ElementUI 视频资源的整理,涵盖教程、实战案例和官方资源: ElementUI 官方视频资源 ElementUI 官方文档虽以文字为主,但部分社区或第三方平台可能有官方团队发布的…

elementui锁屏

elementui锁屏

ElementUI 锁屏功能实现 ElementUI 本身并未直接提供锁屏组件,但可以通过遮罩层、自定义指令或结合 Vue 路由守卫实现类似效果。以下是几种常见实现方式: 使用遮罩层与自定义指令 通…

elementui面板

elementui面板

ElementUI 面板组件 ElementUI 提供了 el-collapse 和 el-collapse-item 组件来实现面板(折叠面板)功能。以下是如何使用这些组件的详细说明: 安装 E…

elementui高级

elementui高级

ElementUI 高级用法与技巧 ElementUI 是基于 Vue.js 的流行组件库,适用于快速开发中后台系统。以下是一些高级用法和优化技巧,帮助提升开发效率和用户体验。 自定义主题与样式覆…

elementui作用

elementui作用

Element UI 的作用 Element UI 是一套基于 Vue.js 的桌面端组件库,主要用于快速构建用户界面。它提供了丰富的预定义组件,帮助开发者高效完成前端开发任务。 核心功能 提供高质…