From 878e09d732771964781104288994a9544f11a24e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 17 十一月 2023 18:03:25 +0800 Subject: [PATCH] 2023-11-17 --- src/menu/stylecontroller/index.jsx | 23 +++++++++++++++++------ src/views/menudesign/menuform/index.jsx | 22 ++++++++++++++++------ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/menu/stylecontroller/index.jsx b/src/menu/stylecontroller/index.jsx index b60a0b0..b2e0d63 100644 --- a/src/menu/stylecontroller/index.jsx +++ b/src/menu/stylecontroller/index.jsx @@ -56,6 +56,7 @@ } callback = null + timer = null shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) @@ -96,6 +97,8 @@ } this.callback = callback + this.timer = null + let card = fromJS(style).toJS() let borposition = 'outer' @@ -163,7 +166,7 @@ this.callback = null } - updateStyle = (style) => { + updateStyle = (style, delay) => { const { card } = this.state let _style = { @@ -191,7 +194,15 @@ card: _style, }) - this.callback && this.callback(_style) + this.timer && clearTimeout(this.timer) + + if (delay) { + this.timer = setTimeout(() => { + this.callback && this.callback(_style) + }, 300) + } else { + this.callback && this.callback(_style) + } } /** @@ -208,7 +219,7 @@ value = 300 } - this.updateStyle({fontSize: `${value}px`}) + this.updateStyle({fontSize: `${value}px`}, true) } /** @@ -219,7 +230,7 @@ if (isNaN(value) || value < 1 || value > 10) return - this.updateStyle({lineHeight: value}) + this.updateStyle({lineHeight: value}, true) } /** @@ -230,7 +241,7 @@ if (isNaN(value) || value < 0 || value > 100) return - this.updateStyle({letterSpacing: `${value}px`}) + this.updateStyle({letterSpacing: `${value}px`}, true) } /** @@ -241,7 +252,7 @@ if (isNaN(value) || value < 0 || value > 100) return - this.updateStyle({textIndent: `${value}px`}) + this.updateStyle({textIndent: `${value}px`}, true) } changeBackground = (val) => { diff --git a/src/views/menudesign/menuform/index.jsx b/src/views/menudesign/menuform/index.jsx index 737270b..69232e6 100644 --- a/src/views/menudesign/menuform/index.jsx +++ b/src/views/menudesign/menuform/index.jsx @@ -50,6 +50,7 @@ thdMenuList = JSON.parse(thdMenuList) let thdMenu = null + let firstId = '' thdMenuList.forEach(trd => { if (MenuId === trd.MenuID) { @@ -65,17 +66,21 @@ smenulist = item.children } }) + + firstId = thdMenu.FstId || '' } - this.props.updateConfig({...config, fstMenuId: thdMenu ? thdMenu.FstId : ''}) + if (firstId !== config.fstMenuId) { + this.props.updateConfig({...config, fstMenuId: firstId}) + } this.setState({ - fstMenuId: thdMenu ? thdMenu.FstId : '', + fstMenuId: firstId, menulist, smenulist }, () => { this.props.form.setFieldsValue({ - fstMenuId: thdMenu ? thdMenu.FstId : '', + fstMenuId: firstId, parentId: thdMenu ? thdMenu.ParentId : '' }) }) @@ -149,24 +154,29 @@ }) let smenulist = [] + let firstId = '' if (thdMenu) { menulist.forEach(item => { if (item.MenuID === thdMenu.FstId) { smenulist = item.children } }) + firstId = thdMenu.FstId || '' } sessionStorage.setItem('fstMenuList', JSON.stringify(menulist)) sessionStorage.setItem('thdMenuList', JSON.stringify(thdMenuList)) - this.props.updateConfig({...config, fstMenuId: thdMenu ? thdMenu.FstId : ''}) + + if (firstId !== config.fstMenuId) { + this.props.updateConfig({...config, fstMenuId: firstId}) + } this.setState({ - fstMenuId: thdMenu ? thdMenu.FstId : '', + fstMenuId: firstId, menulist, smenulist }, () => { this.props.form.setFieldsValue({ - fstMenuId: thdMenu ? thdMenu.FstId : '', + fstMenuId: firstId, parentId: thdMenu ? thdMenu.ParentId : '' }) }) -- Gitblit v1.8.0