From a0a285c90987eb9b1591f90333f3aeb15659ded2 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 17 一月 2020 19:04:57 +0800 Subject: [PATCH] 2020-01-17 --- src/components/sidemenu/editthdmenu/index.jsx | 38 ++++++++++++++++++++------------------ 1 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/components/sidemenu/editthdmenu/index.jsx b/src/components/sidemenu/editthdmenu/index.jsx index 2af730f..b747b99 100644 --- a/src/components/sidemenu/editthdmenu/index.jsx +++ b/src/components/sidemenu/editthdmenu/index.jsx @@ -30,8 +30,6 @@ CommonTable: nortable } -let previewList = null // 鍒濆鑿滃崟鍒楄〃 - class EditMenu extends Component { static propTpyes = { reload: PropTypes.func, // 鑿滃崟淇敼鍚庡埛鏂� @@ -43,7 +41,6 @@ state = { dict: (!localStorage.getItem('lang') || localStorage.getItem('lang') === 'zh-CN') ? zhCN : enUS, - show: true, // 鎺у埗鑿滃崟鍒锋柊 thawmenulist: null, // 宸插喕缁撶殑浜岀骇鑿滃崟 type: '', // 鎿嶄綔绫诲瀷锛屾柊寤烘垨缂栬緫鑿滃崟 tabview: '', // 閫夋嫨妯℃澘绐楀彛锛坱emplate锛夈�佸熀纭�琛ㄦ牸閰嶇疆锛圕ommonTable锛夈�佽〃鍗曪紙Modal锛夈�佸瓙琛紙SubTable锛� @@ -59,6 +56,7 @@ preview: null, // 鍥剧墖棰勮url pretemplate: null, // 棰勮妯℃澘 btnParam: null, // 缂栬緫鎸夐挳鐨勯厤缃俊鎭� + menulist: null, // 缂栬緫涓殑鑿滃崟 sysTemplates: sysTemps // 绯荤粺妯℃澘 } @@ -66,7 +64,9 @@ * @description 鑿滃崟椤哄簭鏀瑰彉鏃讹紝淇濆瓨涓棿鐘舵�� */ handlePreviewList = (List) => { - previewList = List + this.setState({ + menulist: List + }) } /** @@ -77,7 +77,8 @@ */ handleMenu = (menu) => { const _this = this - if (previewList && !is(fromJS(previewList), fromJS(this.state.subMenulist))) { + + if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { notification.warning({ top: 92, message: this.state.dict['header.menu.presave'], @@ -168,7 +169,7 @@ handleSubBtn = (type) => { // 鎿嶄綔鎸夐挳锛氭坊鍔犮�佽В闄ゅ喕缁撱�佺‘璁ゅ強鍏抽棴 if (type === 'add') { // 鐐瑰嚮娣诲姞鏃讹紝灞曞紑妯℃澘 - if (previewList && !is(fromJS(previewList), fromJS(this.state.subMenulist))) { + if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { notification.warning({ top: 92, message: this.state.dict['header.menu.presave'], @@ -179,7 +180,7 @@ this.setState({tabview: 'template', type: 'add'}) document.getElementById('root').style.overflowY = 'hidden' } else if (type === 'thaw') { - if (previewList && !is(fromJS(previewList), fromJS(this.state.subMenulist))) { + if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { notification.warning({ top: 92, message: this.state.dict['header.menu.presave'], @@ -213,11 +214,11 @@ } }) } else if (type === 'confirm') { - if (previewList && !is(fromJS(previewList), fromJS(this.state.subMenulist))) { + if (!is(fromJS(this.props.menulist), fromJS(this.state.menulist))) { let _this = this let param = { func: 'sPC_Menu_SortUpt', - LText: previewList.map((item, index) => { + LText: this.state.menulist.map((item, index) => { return 'select \'' + item.MenuID + '\' as Menuid,' + (index + 1) * 10 + ' as sort' }) } @@ -500,17 +501,18 @@ } UNSAFE_componentWillMount () { - previewList = null this.getUsedTemplate() + + this.setState({ + menulist: this.props.menulist + }) } UNSAFE_componentWillReceiveProps (nextProps) { if (!is(fromJS(this.props.menulist), fromJS(nextProps.menulist))) { - previewList = null - this.setState({show: false}) - setTimeout(() => { - this.setState({show: true}) - }, 10) + this.setState({ + menulist: nextProps.menulist + }) } } @@ -543,13 +545,13 @@ <Icon type={this.props.supMenu.PageParam.Icon} /> <span>{this.props.supMenu.text}</span> </div> - {this.state.show && <DndProvider backend={HTML5Backend}> + <DndProvider backend={HTML5Backend}> <DragElement - list={this.props.menulist} + list={this.state.menulist} handlePreviewList={this.handlePreviewList} handleMenu={this.handleMenu} /> - </DndProvider>} + </DndProvider> <div className="menu-add" onClick={() => {this.handleSubBtn('add')}}> <Icon type="plus" /> </div> -- Gitblit v1.8.0