【vue+element笔记01-message】

vue笔记01 · 目录

vue 使用message/messageBox

    • 传递message文本属性时, 无法识别拼接的html 元素

    解决方案:添加属性: dangerouslyUseHTMLString: true 属性值改为true

    代码:

    	MessageBox({
          title: title,
          message: text,
          center: false,
          type: 'info',
          dangerouslyUseHTMLString: true
        })
        ```
    
    • dangerouslyUseHTMLString设置为true所带来的问题, html元素插入带来xss攻击隐患
      识别html元素标签并渲染。
    • 解决方式

vue.js官网有写,找到自定义的方式
参考这些的也可以 不直接识别text,前端固定的加div进行换行
查看这个地址

  1. 总结
import { MessageBox } from 'element-ui';

  • 什么都没用时
    在这里插入图片描述

  • 使用的属性 dangerouslyUseHTMLString: true

	const promptMsg = [
		{
          data: {
            succ: '01',
            msg: '1.messgae - 01',
            data: '',
            alertType: '1'
          }
        },
        {
          data: {
            succ: '01',
            msg: '2.messgae - 02',
            data: '',
            alertType: '1'
          }
        },
        {
          data: {
            succ: '01',
            msg: '3.messgae - 03',
            data: '',
            alertType: '1'
          }
        },
        {
          data: {
            succ: '01',
            msg: '4.messgae - 04',
            data: '',
            alertType: '1'
          }
        }
	]
	this.MessageBox({
          title: title,
          message: promptMsg.join(`\n`),
          center: false,
          type: 'warning',
          dangerouslyUseHTMLString: true 
       })

效果在这里插入图片描述

  • 自定义使用vue的 $createElement 方法:
	const promptMsg = [
		{
          data: {
            succ: '01',
            msg: '1.messgae - 01',
            data: '',
            alertType: '1'
          }
        },
        {
          data: {
            succ: '01',
            msg: '2.messgae - 02',
            data: '',
            alertType: '1'
          }
        },
        {
          data: {
            succ: '01',
            msg: '3.messgae - 03',
            data: '',
            alertType: '1'
          }
        },
        {
          data: {
            succ: '01',
            msg: '4.messgae - 04',
            data: '',
            alertType: '1'
          }
        }
	]
	const h = this.$createElement
	const eleData = []
	promptMsg.map((item, index) => {
		eleData.push(h('div', null, item))
	})

	this.MessageBox({
          title: title,
          message: h('div', null, eleData),
          center: false,
          type: 'warning'
        })

效果:也是可以换行展示的
在这里插入图片描述

XSS攻击参考
10个XSS攻击实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值