import { Component, createSignal, For, Show, onCleanup, onMount, } from "solid-js"; import { docEntries, type DocEntry } from "./doc-data"; export interface DocDialogProps { isOpen: boolean; onClose: () => void; } const DocDialog: Component = (props) => { const [selectedTag, setSelectedTag] = createSignal(docEntries[0]?.tag ?? ""); const selectedEntry = () => docEntries.find((e) => e.tag === selectedTag()) ?? docEntries[0]; const handleKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape") props.onClose(); }; onMount(() => { document.addEventListener("keydown", handleKeyDown); }); onCleanup(() => { document.removeEventListener("keydown", handleKeyDown); }); return (
{ if (e.target === e.currentTarget) props.onClose(); }} >

指令组件文档

{(entry) => }
); }; /** Single entry documentation content */ const DocContent: Component<{ entry: DocEntry }> = (props) => { const e = props.entry; return (

{e.icon} {e.title} :{e.tag}

{e.description}

基本语法

          {e.syntax}
        
0}>

属性

{(prop) => ( )}
属性 类型 默认值 说明
{prop.name} {prop.type} {prop.default ?? "—"} {prop.desc}

示例

{e.examples}

使用场景

{e.usage}

); }; export default DocDialog;