From 3a4f58e3883bd841f2658c38889fdc43a4b9cc8d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 21 一月 2021 16:59:13 +0800 Subject: [PATCH] 2021-01-21 --- src/menu/components/code/sandbox/codecontent/index.jsx | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) diff --git a/src/menu/components/code/sandbox/codecontent/index.jsx b/src/menu/components/code/sandbox/codecontent/index.jsx index 716adf8..c178772 100644 --- a/src/menu/components/code/sandbox/codecontent/index.jsx +++ b/src/menu/components/code/sandbox/codecontent/index.jsx @@ -1,13 +1,15 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { Empty } from 'antd' +import { Empty, message } from 'antd' import './index.scss' class BraftContent extends Component { static propTpyes = { + name: PropTypes.string, html: PropTypes.any, css: PropTypes.any, + js: PropTypes.any, } state = { @@ -32,6 +34,18 @@ } } + componentDidMount () { + const { js, name } = this.props + if (js) { + try { + // eslint-disable-next-line no-eval + eval(js) + } catch { + message.warning(name + 'JS 鎵ц澶辫触锛�') + } + } + } + UNSAFE_componentWillReceiveProps(nextProps) { if (this.props.css !== nextProps.css) { const { csselement } = this.state @@ -47,6 +61,16 @@ this.setState({csselement: ele}) } } + if (this.props.html !== nextProps.html || this.props.js !== nextProps.js) { + if (nextProps.js) { + try { + // eslint-disable-next-line no-eval + eval(nextProps.js) + } catch { + message.warning(nextProps.name + 'JS 鎵ц澶辫触锛�') + } + } + } } render() { -- Gitblit v1.8.0