From c39ea1f23d21b070188abcf5f4dd5bdd7b47c1f9 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 10 三月 2020 10:32:13 +0800 Subject: [PATCH] 2020-03-10 --- src/tabviews/commontable/mainTable/index.jsx | 39 +++++++++------------------------------ 1 files changed, 9 insertions(+), 30 deletions(-) diff --git a/src/tabviews/commontable/mainTable/index.jsx b/src/tabviews/commontable/mainTable/index.jsx index 3fd499f..8d9bfca 100644 --- a/src/tabviews/commontable/mainTable/index.jsx +++ b/src/tabviews/commontable/mainTable/index.jsx @@ -1,6 +1,6 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { is, fromJS } from 'immutable' +// import { is, fromJS } from 'immutable' import { Table, message, Affix, Button, Typography } from 'antd' import './index.scss' @@ -12,7 +12,6 @@ MenuID: PropTypes.string, // 鑿滃崟Id setting: PropTypes.object, // 琛ㄦ牸鍏ㄥ眬璁剧疆锛歵ableType锛堣〃鏍兼槸鍚﹀彲閫夈�佸崟閫夈�佸閫夛級銆乧olumnfixed锛堝垪鍥哄畾锛夈�乤ctionfixed锛堟寜閽浐瀹氾級 pickup: PropTypes.any, // 鏁版嵁鏀惰捣 - setsingle: PropTypes.any, // 璁剧疆鍗曢�夊閫� columns: PropTypes.array, // 琛ㄦ牸鍒� data: PropTypes.any, // 琛ㄦ牸鏁版嵁 total: PropTypes.number, // 鎬绘暟 @@ -26,13 +25,11 @@ selectedRowKeys: [], // 琛ㄦ牸涓�変腑琛� pageIndex: 1, // 鍒濆椤甸潰绱㈠紩 pageSize: 10, // 姣忛〉鏁版嵁鏉℃暟 - columns: null, // 鏄剧ず鍒� - selectId: '', - isSingleSelect: false + columns: null // 鏄剧ず鍒� } UNSAFE_componentWillMount () { - const { columns, setting } = this.props + const { columns } = this.props let _columns = [] columns.forEach(item => { @@ -50,19 +47,8 @@ }) this.setState({ - columns: _columns, - isSingleSelect: setting.tableType === 'radio' + columns: _columns }) - } - - UNSAFE_componentWillReceiveProps(nextProps) { - if (!is(fromJS(this.props.setsingle), fromJS(nextProps.setsingle))) { - this.setState({ - isSingleSelect: nextProps.setsingle, - selectedRowKeys: [], - selectId: '' - }) - } } getContent = (item, record) => { @@ -247,8 +233,6 @@ } onSelectChange = selectedRowKeys => { - if (this.props.pickup) return - let index = '' if (selectedRowKeys.length > 0) { index = selectedRowKeys[selectedRowKeys.length - 1] @@ -266,7 +250,7 @@ let newkeys = JSON.parse(JSON.stringify(this.state.selectedRowKeys)) let _re = newkeys.includes(index) - if (this.props.setting.tableType === 'radio' || this.state.isSingleSelect) { + if (this.props.setting.tableType === 'radio') { this.changedata(index) this.setState({ selectedRowKeys: [index] }) } else { @@ -301,30 +285,25 @@ _data = data[index] || '' } - this.setState({ - selectId: _id - }) - this.props.handleTableId('mainTable', _id, _data) } resetTable = () => { this.setState({ pageIndex: 1, - selectId: '', selectedRowKeys: [] }) } render() { const { setting, pickup } = this.props - let { selectedRowKeys, isSingleSelect, selectId } = this.state + let { selectedRowKeys } = this.state let rowSelection = null if (setting.tableType) { rowSelection = { selectedRowKeys, - type: (setting.tableType === 'radio' || isSingleSelect) ? 'radio' : 'checkbox', + type: (setting.tableType === 'radio') ? 'radio' : 'checkbox', onChange: this.onSelectChange } } @@ -345,8 +324,8 @@ let _data = this.props.data ? this.props.data : [] - if (selectId && pickup && isSingleSelect) { - _data = _data.filter(item => item[setting.primaryKey] === selectId) + if (pickup) { + _data = _data.filter((item, index) => selectedRowKeys.includes(index)) } return ( -- Gitblit v1.8.0