From cf8e332b14ca79859fcd89f2ac097ed7c6aa66c5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 01 十二月 2019 18:15:45 +0800 Subject: [PATCH] 2019-12-01 --- src/templates/comtableconfig/editcard/index.jsx | 52 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 12 deletions(-) diff --git a/src/templates/comtableconfig/editcard/index.jsx b/src/templates/comtableconfig/editcard/index.jsx index 51cb8b6..bb0e5e5 100644 --- a/src/templates/comtableconfig/editcard/index.jsx +++ b/src/templates/comtableconfig/editcard/index.jsx @@ -1,6 +1,8 @@ import React, {Component} from 'react' -import { Row, Col, Icon, Radio } from 'antd' +import { Row, Col, Icon, Radio, Input } from 'antd' import './index.scss' + +const { Search } = Input class EditCardCell extends Component { constructor(props) { @@ -29,6 +31,8 @@ const { card } = this.state this.setState({ card: {...card, selected: !card.selected} + }, () => { + this.props.changeCard(this.state.card) }) } @@ -72,16 +76,29 @@ this.state = { dataSource: props.data, - type: props.type + selectCards: props.data.filter(item => item.selected), + type: props.type, + searchKey: '' } } - getSelectedCard = () => { - let box = [] - this.state.dataSource.forEach((item, index) => { - box.push(this.refs['cellCard' + index].state.card) + changeCard = (item) => { + let cards = JSON.parse(JSON.stringify(this.state.selectCards)) + let isAdd = true + cards = cards.map(card => { + if (card.field === item.field) { + isAdd = false + return item + } else { + return card + } }) - return box + if (isAdd) { + cards.push(item) + } + this.setState({ + selectCards: cards + }) } render() { @@ -89,12 +106,23 @@ return ( <div className="common-modal-edit-card"> + <Row className="search-row"> + <Col span={8}> + <Search placeholder="璇疯緭鍏ュ瓧娈靛悕" onSearch={value => {this.setState({searchKey: value})}} enterButton /> + </Col> + </Row> <Row> - {dataSource.map((item, index) => ( - <Col key={index} span={8}> - <EditCardCell ref={'cellCard' + index} type={type} card={item} /> - </Col> - ))} + {dataSource.map((item, index) => { + if (item.field.toLowerCase().indexOf(this.state.searchKey.toLowerCase()) >= 0) { + return ( + <Col key={index} span={8}> + <EditCardCell ref={'cellCard' + index} type={type} card={item} changeCard={this.changeCard} /> + </Col> + ) + } else { + return '' + } + })} </Row> </div> ) -- Gitblit v1.8.0