{ "slug": "dropdown", "mode": "single", "examples": [ { "id": "dropdown-ex-1", "title": "基础用法", "titleSrc": "", "desc": "", "html": "
\n

Kole UI · Dropdown 组件(纯 H5)

\n

对齐 Dropdown 规范:菜单项高32px、内边距左右12px、悬停 #F5F7FA、危险项 #CF1322、面板圆角6px/阴影中/最小宽120px

\n
\n \n \n
\n
", "preview": { "show": [ [ 0 ] ], "hide": [], "mode": "single" }, "previewSafe": true, "previewUnsafeReasons": [], "source": "curated", "code": { "html": "

Kole UI · Dropdown 组件(纯 H5)

\n

对齐 Dropdown 规范:菜单项高32px、内边距左右12px、悬停 #F5F7FA、危险项 #CF1322、面板圆角6px/阴影中/最小宽120px

\n
\n \n \n
", "jsx": "import { useState } from 'react';\nimport { KoleDropdown } from 'kole-ui/react';\n\nconst items = [\n { key: 'edit', label: '编辑', icon: '✎' },\n { key: 'copy', label: '复制' },\n { divider: true },\n { key: 'disable', label: '不可用的项', disabled: true },\n { key: 'delete', label: '删除', danger: true },\n];\n\nexport default function Demo() {\n const [picked, setPicked] = useState('');\n\n // 触发器文案走 trigger;divider / disabled / danger / icon 由 items 描述\n return (\n setPicked(String(key))} />\n );\n}", "vue3": "\n\n", "vue2": "\n\n", "tsx": "import { useState } from 'react';\nimport { KoleDropdown } from 'kole-ui/react';\n\ninterface DropdownItem {\n key?: string;\n label?: string;\n icon?: string;\n disabled?: boolean;\n danger?: boolean;\n divider?: boolean;\n}\n\nconst items: ReadonlyArray = [\n { key: 'edit', label: '编辑', icon: '✎' },\n { key: 'copy', label: '复制' },\n { divider: true },\n { key: 'disable', label: '不可用的项', disabled: true },\n { key: 'delete', label: '删除', danger: true },\n];\n\nconst trigger: string = '操作 ▾';\n\nexport default function DropdownDemo(): JSX.Element {\n const [picked, setPicked] = useState('');\n\n // 触发器文案走 trigger;divider / disabled / danger / icon 由 items 描述\n return (\n setPicked(String(key))} />\n );\n}", "vue3ts": "\n\n", "vue2ts": "\n\n" }, "notes": [ "依据 frameworks/Dropdown.html:41-47 的触发按钮「操作 ▾」与五个菜单项(data-key=edit/copy/disable/delete、✎ 图标、divider、is-disabled、is-danger)", "items 形参见 Dropdown.jsx 注释与 Dropdown.vue3.vue defineProps;触发器文案在 Vue 端走默认插槽(Dropdown.vue3.vue 的 操作)", "TS 形态依据 TS-VARIANTS.md:tsx 用 useState + interface DropdownItem(divider/disabled/danger 见 Dropdown 实现与 items 语义);vue3ts/vue2ts 用