From 54d01e6ef9ac31f10de4a0e92824eba50b77eda6 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 27 九月 2021 18:40:51 +0800 Subject: [PATCH] 2021-09-27 --- src/templates/sharecomponent/searchcomponent/index.jsx | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/src/templates/sharecomponent/searchcomponent/index.jsx b/src/templates/sharecomponent/searchcomponent/index.jsx index 44d9716..dc0dd9e 100644 --- a/src/templates/sharecomponent/searchcomponent/index.jsx +++ b/src/templates/sharecomponent/searchcomponent/index.jsx @@ -10,6 +10,7 @@ import enUS from '@/locales/en-US/model.js' import { getSearchForm } from '@/templates/zshare/formconfig' +import MKEmitter from '@/utils/events.js' import SearchForm from './searchform' import DragElement from './dragsearch' import './index.scss' @@ -53,6 +54,32 @@ this.handleSearch(item) } this.setState({searchlist: fromJS(nextProps.config.search).toJS()}) + } + } + + componentDidMount () { + MKEmitter.addListener('plusSearch', this.plusSearch) + } + + plusSearch = (MenuId, item, type) => { + const { config } = this.props + const { searchlist } = this.state + + if (MenuId !== config.uuid) return + + if (type === 'simple') { + this.setState({ + searchlist: [...searchlist, item], + }, () => { + this.handleSearch(item) + }) + } else if (type === 'multil') { + let list = [...searchlist, ...item] + this.setState({ + searchlist: list + }, () => { + this.props.updatesearch({...config, search: list}) + }) } } @@ -280,13 +307,15 @@ this.setState = () => { return } + MKEmitter.removeListener('plusSearch', this.plusSearch) } shouldComponentUpdate (nextProps, nextState) { - return !is(fromJS(this.state), fromJS(nextState)) + return !is(fromJS(this.state), fromJS(nextState)) || this.props.config.setting.show !== nextProps.config.setting.show } render() { + const { config } = this.props const { dict, searchlist, visible, sqlVerifing, card, showField } = this.state return ( @@ -297,6 +326,7 @@ <Switch checkedChildren={dict['model.switch.open']} unCheckedChildren={dict['model.switch.close']} defaultChecked={showField} onChange={this.onFieldChange} /> <DragElement list={searchlist} + show={config.setting.show} showField={showField} handleList={this.handleList} handleMenu={this.handleSearch} -- Gitblit v1.8.0