目錄
目錄
具備作用中錨點偵測與自動捲動功能的目錄。
使用方式
import * as Base from 'fumadocs-core/toc';
return (
<Base.AnchorProvider>
<Base.ScrollProvider>
<Base.TOCItem />
<Base.TOCItem />
</Base.ScrollProvider>
</Base.AnchorProvider>
);Anchor Provider
透過 Intersection Observer API 追蹤目前作用中的錨點。
屬性
型別
Scroll Provider
將捲動容器捲動至目前作用中的錨點。
屬性
型別
目錄項目
用於跳至目標錨點的錨點項目。
| 資料屬性 | 值 | 說明 |
|---|---|---|
data-active | true, false | 錨點是否處於作用中狀態 |
範例
import { AnchorProvider, ScrollProvider, TOCItem, type TOCItemType } from 'fumadocs-core/toc';
import { type ReactNode, useRef } from 'react';
export function Page({ items, children }: { items: TOCItemType[]; children: ReactNode }) {
const viewRef = useRef<HTMLDivElement>(null);
return (
<AnchorProvider toc={items}>
<div ref={viewRef} className="overflow-auto">
<ScrollProvider containerRef={viewRef}>
{items.map((item) => (
<TOCItem key={item.url} href={item.url}>
{item.title}
</TOCItem>
))}
</ScrollProvider>
</div>
{children}
</AnchorProvider>
);
}
How is this guide?
最後更新於
