解决element 弹出多个message消息提示问题(转)

在新版本的element中,官方对  message消息提示 做了修改,修改成一个请求对应一个提示语,这就会导致多条消息提示共存的一个问题,而很多情况下,这多条消息提示的内容是一样的,从用户的体验来说,并不友好

 

 

第一步.  先写一个resetMessage.js

 
import {
    Message
} from 'element-ui';
let messageInstance = null;
const resetMessage = (options) => {
    if(messageInstance) {
        messageInstance.close()
    }
    messageInstance = Message(options)
};
['error','success','info','warning'].forEach(type => {
    resetMessage[type] = options => {
        if(typeof options === 'string') {
            options = {
                message:options
            }
        }
        options.type = type
        return resetMessage(options)
    }
})
export const message = resetMessage

第二步. 在 main.js 中引入

 

//重写message提示框  一定要放在Vue.use(ElementUI)之后

import {
    message
  } from './assets/js/resetMessage';
Vue.use(ElementUI);
Vue.prototype.$message = message; //重写message提示框  一定要放在Vue.use(ElementUI)之后

 

第三步.  调用

在vue组件中代码中调用:

this.$message.error('提示内容');//way1
this.$message({type:success,message:'提示内容'}); //way2

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
若依(Ruoyi)是一款基于 Spring Boot 2.x 和 Vue 开发的前后端分离的开源框架,提供了多个组件和工具类,方便开发人员快速搭建企业级应用程序。下面是一个使用若依框架实现前端Vue弹出对话框并将多个参数传递给后端的例子。 1. 在后端接口中定义需要接收的多个参数,例如: ```java @RequestMapping("/addUser") public AjaxResult addUser(String username, String password, Integer age) { // 处理添加用户的逻辑 } ``` 2. 在前端Vue组件中使用Dialog组件实现弹出对话框的效果,例如: ```html <template> <div> <el-button type="primary" @click="showDialog = true">添加用户</el-button> <el-dialog title="添加用户" :visible.sync="showDialog" :close-on-click-modal="false"> <el-form ref="form" :model="formData"> <el-form-item label="用户名"> <el-input v-model="formData.username"></el-input> </el-form-item> <el-form-item label="密码"> <el-input type="password" v-model="formData.password"></el-input> </el-form-item> <el-form-item label="年龄"> <el-input type="number" v-model="formData.age"></el-input> </el-form-item> </el-form> <div slot="footer"> <el-button @click="showDialog = false">取消</el-button> <el-button type="primary" @click="submitForm">提交</el-button> </div> </el-dialog> </div> </template> <script> import { addSysUser } from '@/api/system/user' export default { data() { return { showDialog: false, formData: { username: '', password: '', age: null } } }, methods: { submitForm() { addSysUser(this.formData).then(res => { if (res.code === 200) { this.$message.success('添加用户成功') this.showDialog = false } else { this.$message.error(res.msg) } }).catch(error => { console.log(error) }) } } } </script> ``` 在这个示例中,我们使用了Element UI中的el-dialog弹出对话框组件,el-form表单组件和el-button按钮组件,通过v-model将表单数据绑定到formData对象上,通过调用addSysUser方法将formData作为参数提交给后端接口。 3. 在前端api文件中定义addSysUser方法,例如: ```javascript import request from '@/utils/request' export function addSysUser(data) { return request({ url: '/system/user/addUser', method: 'post', data: data }) } ``` 在这个示例中,我们使用了若依框架提供的request方法,通过传入url、method和data等参数发起http请求,将data作为参数提交给后端接口。 通过以上步骤,我们可以在前端Vue弹出对话框并将多个参数传递给后端,实现添加用户的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值