From 913ea012f420311d18cc875934bae6b4ce3b2d13 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 16 一月 2023 14:44:28 +0800 Subject: [PATCH] 2023-01-16 --- src/tabviews/custom/components/chart/antv-bar-line/index.jsx | 58 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 30 insertions(+), 28 deletions(-) diff --git a/src/tabviews/custom/components/chart/antv-bar-line/index.jsx b/src/tabviews/custom/components/chart/antv-bar-line/index.jsx index 349f550..5bc343a 100644 --- a/src/tabviews/custom/components/chart/antv-bar-line/index.jsx +++ b/src/tabviews/custom/components/chart/antv-bar-line/index.jsx @@ -37,17 +37,17 @@ transfield: {}, // 瀛楁鍚嶇О缈昏瘧 sync: false, // 鏄惁缁熶竴璇锋眰鏁版嵁 plot: null, // 鍥捐〃璁剧疆 - data: [], // 鏁版嵁 search: null, // 鎼滅储鏉′欢 vFields: [], // 鏁板�煎瓧娈� vstFields: null, // 缁熻鏁版嵁鍊煎瓧娈典俊鎭� chart: null } + data = [] + UNSAFE_componentWillMount () { const { config, data, initdata } = this.props let _config = fromJS(config).toJS() - let _data = null let _sync = config.setting.sync === 'true' let BID = '' @@ -62,11 +62,11 @@ BID = BData.$BID || '' } - if (config.setting.sync === 'true' && data) { - _data = data[config.dataName] || [] + if (_sync && data) { + this.data = data[config.dataName] || [] _sync = false - } else if (config.setting.sync === 'true' && initdata) { - _data = initdata || [] + } else if (_sync && initdata) { + this.data = initdata || [] _sync = false } @@ -335,7 +335,6 @@ this.setState({ config: _config, - data: _data || [], BID: BID || '', vFields: vFields, vstFields: vstFields, @@ -349,17 +348,19 @@ setTimeout(() => { this.loadData() }, _config.setting.delay || 0) - } else if (config.setting.sync === 'true' && _data) { - this.handleData() } }) + + if (this.data.length > 0) { + this.handleData() + } } /** * @description 鍥捐〃鏁版嵁鏇存柊锛屽埛鏂板唴瀹� */ UNSAFE_componentWillReceiveProps (nextProps) { - const { sync, config, data } = this.state + const { sync, config } = this.state if (sync && !is(fromJS(this.props.data), fromJS(nextProps.data))) { let _data = [] @@ -367,11 +368,12 @@ _data = nextProps.data[config.dataName] || [] } - this.setState({sync: false, data: _data}) - - if (!is(fromJS(data), fromJS(_data))) { + if (!is(fromJS(this.data), fromJS(_data))) { + this.data = _data this.handleData() } + + this.setState({sync: false}) } else if (config.setting.useMSearch && nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) { this.setState({}, () => { this.loadData() @@ -400,11 +402,12 @@ if (config.$cache && (config.setting.sync !== 'true' || sync)) { Api.getLCacheConfig(config.uuid).then(res => { - if (!res) return + if (!res || this.data.length > 0) return - this.setState({data: res}, () => { + if (!is(fromJS(this.data), fromJS(res))) { + this.data = res this.handleData() - }) + } }) } } @@ -500,11 +503,10 @@ const { config, arr_field, BID, search } = this.state if (config.setting.supModule && !BID) { // BID 涓嶅瓨鍦ㄦ椂锛屼笉鍋氭煡璇� - this.setState({ - data: [] - }, () => { + if (!is(fromJS(this.data), fromJS([]))) { + this.data = [] this.handleData() - }) + } return } @@ -539,11 +541,11 @@ } this.setState({ - data: result.data || [], loading: false }) - if (!is(fromJS(this.state.data), fromJS(result.data || []))) { + if (!is(fromJS(this.data), fromJS(result.data || []))) { + this.data = result.data || [] this.handleData() } } else { @@ -586,15 +588,15 @@ * 3銆佹煴鐘跺浘鏁版嵁琛ラ綈 */ getdata = () => { - const { data, plot, vFields, config } = this.state + const { plot, vFields, config } = this.state - if (data.length === 0) { + if (this.data.length === 0) { this.setState({empty: true}) return [] } let _data = [] - let _cdata = fromJS(data).toJS() + let _cdata = fromJS(this.data).toJS() if (plot.repeat === 'average') { let _mdata = new Map() @@ -728,7 +730,7 @@ * @description 缁熻鏁版嵁棰勫鐞� */ getStaticMsg = () => { - const { plot, vstFields, data } = this.state + const { plot, vstFields } = this.state let percent = false let decimal = vstFields ? vstFields.decimal : 0 @@ -737,13 +739,13 @@ percent = true } - if (data.length === 0) { + if (this.data.length === 0) { this.setState({empty: true}) return [] } let _data = [] - let _cdata = fromJS(data).toJS() + let _cdata = fromJS(this.data).toJS() if (plot.repeat === 'average') { let _mdata = new Map() -- Gitblit v1.8.0