From d3edd6d592db12fbec67e2700d168e07546aed29 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 15 十一月 2019 09:46:00 +0800 Subject: [PATCH] 2019-11-15 --- src/components/sidemenu/comtableconfig/dragelement/index.jsx | 57 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/components/sidemenu/comtableconfig/dragelement/index.jsx b/src/components/sidemenu/comtableconfig/dragelement/index.jsx index 0201b40..c89134c 100644 --- a/src/components/sidemenu/comtableconfig/dragelement/index.jsx +++ b/src/components/sidemenu/comtableconfig/dragelement/index.jsx @@ -7,7 +7,7 @@ import ItemTypes from './itemtypes' import './index.scss' -const Container = ({list, type, handleList, handleMenu }) => { +const Container = ({list, type, placeholder, handleList, handleMenu }) => { let target = null const [cards, setCards] = useState(list) const moveCard = (id, atIndex) => { @@ -97,9 +97,18 @@ target = null } }) - // const [, drop] = useDrop({ accept: ItemTypes[type] }) + let columns = [] + if (type === 'columns' && cards.length > 12) { + let number = Math.ceil(cards.length / Math.ceil(cards.length / 12)) + for (let i = 0, len = cards.length; i < len; i += number) { + columns.push(cards.slice(i, i + number)) + } + } else if (type === 'columns') { + columns.push(cards) + } + return ( - <div ref={drop} className="ant-row" style={type === 'columns' ? {display: 'flex'} : {}}> + <div ref={drop} className="ant-row"> {type === 'action' && cards.map(card => ( <Card key={card.uuid} @@ -127,21 +136,33 @@ </Col> ))} {type === 'columns' && cards.length > 0 && - <div className="page-card" style={{flex: 60}}> - <span className="ant-checkbox-inner"></span> - </div>} - {type === 'columns' && cards.map(card => ( - <Card - key={card.uuid} - id={`${card.id}`} - type={type} - card={card} - moveCard={moveCard} - editCard={editCard} - findCard={findCard} - hasDrop={hasDrop} - /> - ))} + columns.map((column, i) => ( + <div key={i} className="column-box"> + {i === 0 && + <div className="page-card" style={{flex: 60}}> + <span className="ant-checkbox-inner"></span> + </div> + } + {column.map(card => ( + <Card + key={card.uuid} + id={`${card.id}`} + type={type} + card={card} + moveCard={moveCard} + editCard={editCard} + findCard={findCard} + hasDrop={hasDrop} + /> + ))} + </div> + )) + } + {cards.length === 0 && + <div className="common-drawarea-placeholder"> + {placeholder} + </div> + } </div> ) } -- Gitblit v1.8.0