import React, { useState } from 'react'; import './TopMenu.css'; export default function TopMenu({ items = [], activeKey = '', onChange }) { const [active, setActive] = useState(activeKey); function isActive(it) { if (it.key === active) return true; return (it.children || []).some(s => s.key === active); } function select(it) { if (!it.children) { setActive(it.key); onChange && onChange(it.key); } } return (
{items.map((it, i) => (
select(it)} > {it.label} {it.badge ? {it.badge} : null} {it.children ? ▾ : null} {it.children ? (
{it.children.map((s, si) => ( { e.stopPropagation(); select(s); }} > {s.label} ))}
) : null}
))}
); }