From 1ebee158bda3d1ee8a5d52449a365099c9f31361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=87=AA=E5=B8=A6=E5=A4=A7=E4=BD=AC=E6=B0=94=E5=9C=BA?= <188633308@qq.com> Date: Fri, 2 Jul 2021 20:35:57 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=9C=8D=E5=8A=A1=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web-react/src/pages/system/machine/base.jsx | 2 +- web-react/src/pages/system/machine/index.jsx | 6 ++++-- web-react/src/pages/system/machine/use-charts.jsx | 15 +++++++++++---- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/web-react/src/pages/system/machine/base.jsx b/web-react/src/pages/system/machine/base.jsx index 9437b73..47403fe 100644 --- a/web-react/src/pages/system/machine/base.jsx +++ b/web-react/src/pages/system/machine/base.jsx @@ -13,7 +13,7 @@ export default class base extends Component { {hostName} diff --git a/web-react/src/pages/system/machine/index.jsx b/web-react/src/pages/system/machine/index.jsx index fa6a8a9..55155a3 100644 --- a/web-react/src/pages/system/machine/index.jsx +++ b/web-react/src/pages/system/machine/index.jsx @@ -21,8 +21,10 @@ export default class index extends Component { } async componentDidMount() { - const { data: base } = await api.sysMachineBase() - this.setState({ loading: false, base }) + try { + const { data: base } = await api.sysMachineBase() + this.setState({ loading: false, base }) + } catch {} } render() { diff --git a/web-react/src/pages/system/machine/use-charts.jsx b/web-react/src/pages/system/machine/use-charts.jsx index 2693159..22f903b 100644 --- a/web-react/src/pages/system/machine/use-charts.jsx +++ b/web-react/src/pages/system/machine/use-charts.jsx @@ -14,6 +14,8 @@ export default class useCharts extends Component { timer = null timerMoment = null + actived = true + systemStart = moment() now = Date.now() @@ -27,6 +29,7 @@ export default class useCharts extends Component { shouldComponentUpdate(props) { // 当前页签未选中时停止获取状态 if (this.props.actived !== props.actived) { + this.actived = props.actived if (props.actived) { this.start() } else { @@ -53,9 +56,7 @@ export default class useCharts extends Component { } start() { - this.timer = setInterval(() => { - this.refreshData() - }, 3000) + this.actived = true this.refreshData() this.timerMoment = setInterval(() => { this.setState({ nowMoment: moment() }) @@ -63,7 +64,8 @@ export default class useCharts extends Component { } stop() { - clearInterval(this.timer) + this.actived = false + clearTimeout(this.timer) clearInterval(this.timerMoment) } @@ -91,6 +93,11 @@ export default class useCharts extends Component { }) this.setState({ use }) + + if (this.actived) + this.timer = setTimeout(() => { + this.refreshData() + }, 3000) } initCpuChart() {