Это то, чего я пытаюсь достичь, используя reactstrap
карты .
Я следую этому примеру, чтобы интегрировать его в мой код. Но всплывающее окно не отображается, как показано ниже, после нажатия .
В моем случае у меня есть link
, а не button
:
![popover](https://i.imgur.com/etU6IBK.png)
Соответствующий код ниже:
<code>import { Popover, PopoverHeader, PopoverBody } from "reactstrap";
class Sidebar extends React.Component {
state = {
ships: []
};
async componentDidMount() {
let response = await Client.getEntries({
content_type: "cards"
});
const ships = response.items.map(item => {
const {
// constants.....
} = item.fields;
return {
// constants.....
};
});
this.setState({
ships
});
}
getFilteredShips = () => {
// operations .....
};
PopoverItem = props => {
const { id, item } = props;
const [popoverOpen, setPopoverOpen] = useState(false);
const toggle = () => setPopoverOpen(!popoverOpen);
};
render() {
return (
<div className="map-sidebar">
{this.props.activeShipTypes}
<pre>
{this.getFilteredShips().map(ship => (
<Card className="mb-2">
<CardImg />
<CardBody>
<CardTitle>
<h3 className="thick">{ship.name}</h3>
</CardTitle>
<Row style={{ marginTop: "20px" }}>
<div className="buttoncontainer">
<div className="btn btn-cards">
<a
className="buttonLink"
id={"Popover-" + id}
href={ship.projectnotes.fields.file.url}
>
Project Notes
</a>
<Popover
placement={item.placement}
isOpen={popoverOpen}
target={"Popover-" + id}
toggle={toggle}
>
<PopoverHeader>Popover Title</PopoverHeader>
<PopoverBody>
Sed posuere consectetur est at lobortis. Aenean eu leo
quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum.
</PopoverBody>
</Popover>
</div>
</div>
</Row>
</CardBody>
</Card>
))}
); }} экспортировать боковую панель по умолчанию;
Этот код
Сообщения, с которыми я консультировался, чтобы помочь мне решить проблему, но, к сожалению, безуспешно:
1) этот пост было полезно понять логику c, но она не связана с тем, чего я пытаюсь достичь.
2) Конечно этот источник , который является самым важным и откуда я пытаясь повторить пример.
Спасибо за указание в правильном направлении для решения этой проблемы.