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