在React中将滚动到顶部的动画添加到每个已关闭的accordion选项卡,可以通过以下步骤实现:
以下是一个示例代码:
import React, { useState } from 'react';
import './Accordion.css';
const Accordion = ({ data }) => {
const [activeTab, setActiveTab] = useState(null);
const toggleTab = (index) => {
setActiveTab(activeTab === index ? null : index);
if (activeTab !== index) {
scrollToTop();
}
};
const scrollToTop = () => {
window.scrollTo({
top: 0,
behavior: 'smooth',
});
};
return (
<div className="accordion">
{data.map((item, index) => (
<div key={index} className={`accordion-item ${activeTab === index ? 'active' : ''}`}>
<div className="accordion-title" onClick={() => toggleTab(index)}>
{item.title}
</div>
<div className="accordion-content">
{item.content}
</div>
</div>
))}
</div>
);
};
export default Accordion;
在上述代码中,Accordion组件接收一个名为data的数组作为props,其中包含每个选项卡的标题和内容。通过使用useState钩子来跟踪当前打开的选项卡,并使用toggleTab函数来切换选项卡的状态。在点击一个已关闭的选项卡时,会调用scrollToTop函数来实现滚动到顶部的动画效果。
你可以根据需要自定义Accordion组件的样式,并将其用于你的应用程序中。
领取专属 10元无门槛券
手把手带您无忧上云