【发布时间】:2020-05-20 00:19:52
【问题描述】:
当使用 react-boostrap 手风琴时,我有一组列当前正在扩展所有卡片。我想在单击每个单独的链接时展开每个单独的卡片,但在如何实现这一点时遇到了一些困难。任何帮助将不胜感激。
import React from 'react'
import Card from 'react-bootstrap/Card'
import CardColumns from 'react-bootstrap/CardColumns'
import { Accordion, Button } from 'react-bootstrap'
import { Link } from "react-router-dom";
const Pcards = ({ projects }) => {
return (
<container>
<div>
<Accordion>
<CardColumns>
{Array.isArray(projects) && projects.map((projects) => (
<Card key={projects.pid}>
<Card.Img variant="top" src={"http://localhost:8000" + projects.images[0].file_path + projects.images[0].file_name + projects.images[0].file_type} alt="Image not found" onError={(e)=>{e.target.onerror = null; e.target.src="/images/no_image.jpg"}} />
<Card.Body>
<Accordion.Toggle as={Button} variant="link" eventKey="0">
<Card.Title>{projects.title}</Card.Title>
</Accordion.Toggle>
<Accordion.Collapse eventKey="0">
<Card.Text>{projects.description}</Card.Text>
</Accordion.Collapse>
</Card.Body>
<Card.Footer>
<Link to={{
pathname: '/project', search: '?pid=' + projects.pid
}}>View Project</Link>
</Card.Footer>
</Card>
))}
</CardColumns>
</Accordion>
</div>
</container>
)
};
export default Pcards
【问题讨论】:
-
我认为您需要使用地图的可变索引使您的 eventKey 动态化。
标签: javascript reactjs accordion react-bootstrap