在React-Bootstrap Accordion上使用useState来保持状态,可以通过以下步骤实现:
import React, { useState } from 'react';
import { Accordion, Card, Button } from 'react-bootstrap';
function MyAccordion() {
const [activeKey, setActiveKey] = useState(null);
// 其他组件代码...
}
在上面的代码中,我们使用useState来创建了一个名为activeKey的状态变量,并将其初始值设置为null。activeKey将用于跟踪Accordion中当前展开的面板。
function MyAccordion() {
const [activeKey, setActiveKey] = useState(null);
return (
<Accordion activeKey={activeKey} onSelect={(key) => setActiveKey(key)}>
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="1">
Panel 1
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="1">
<Card.Body>Panel 1 content</Card.Body>
</Accordion.Collapse>
</Card>
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="2">
Panel 2
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="2">
<Card.Body>Panel 2 content</Card.Body>
</Accordion.Collapse>
</Card>
</Accordion>
);
}
在上面的代码中,我们将activeKey状态变量传递给Accordion组件的activeKey属性,并使用onSelect事件处理程序来更新activeKey的值。每个Accordion.Toggle组件都有一个唯一的eventKey属性,用于标识对应的面板。
function App() {
return (
<div>
{/* 其他组件代码... */}
<MyAccordion />
{/* 其他组件代码... */}
</div>
);
}
通过以上步骤,你就可以在React-Bootstrap Accordion上使用useState来保持状态。当用户展开或折叠面板时,activeKey状态变量将被更新,并且Accordion组件将根据activeKey的值来展示或隐藏相应的面板内容。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。
领取专属 10元无门槛券
手把手带您无忧上云