{ "slug": "modal", "mode": "scenarios", "examples": [ { "id": "modal-ex-1", "title": "打开默认对话框", "titleSrc": "demo", "desc": "", "html": "", "preview": { "show": [ [ 0, 2 ] ], "hide": [ [ 1 ], [ 2 ], [ 0, 0 ], [ 0, 1 ], [ 0, 3 ], [ 0, 4 ] ], "mode": "scenarios" }, "previewSafe": true, "previewUnsafeReasons": [], "source": "curated", "code": { "html": "", "jsx": "import { useState } from 'react';\nimport { KoleModal } from 'kole-ui/react';\n\nexport default function DefaultModal() {\n const [open, setOpen] = useState(false);\n return (\n <>\n \n setOpen(false)}\n onOk={() => setOpen(false)}\n >\n 这是默认尺寸对话框的内容区,可放置表单或说明文字。\n \n \n );\n}", "vue3": "\n\n", "vue2": "\n\n", "tsx": "import { useState } from 'react';\nimport { KoleModal } from 'kole-ui/react';\n\ntype ModalSize = 'small' | 'default' | 'large';\n\nexport default function DefaultModal(): JSX.Element {\n const [open, setOpen] = useState(false);\n const size: ModalSize = 'default';\n\n function close(): void {\n setOpen(false);\n }\n\n return (\n <>\n \n \n 这是默认尺寸对话框的内容区,可放置表单或说明文字。\n \n \n );\n}", "vue3ts": "\n\n", "vue2ts": "\n\n" }, "notes": "依据 frameworks/Modal.html L43 openModal(\"default\") 与 L55-67 渲染的 kole-modal--default(标题「提示」、正文「这是默认尺寸对话框的内容区…」、右下角取消/确定);受控 prop 取自 Modal.jsx L11-24(open/title/size/closable/maskClosable/hideFooter/cancelText/okText/onClose/onOk)与 Modal.vue3.vue L20-28(visible/title/size)。" }, { "id": "modal-ex-2", "title": "打开大对话框", "titleSrc": "demo", "desc": "", "html": "", "preview": { "show": [ [ 0, 3 ] ], "hide": [ [ 1 ], [ 2 ], [ 0, 0 ], [ 0, 1 ], [ 0, 2 ], [ 0, 4 ] ], "mode": "scenarios" }, "previewSafe": true, "previewUnsafeReasons": [], "source": "curated", "code": { "html": "", "jsx": "import { useState } from 'react';\nimport { KoleModal } from 'kole-ui/react';\n\nexport default function LargeModal() {\n const [open, setOpen] = useState(false);\n return (\n <>\n \n setOpen(false)}\n onOk={() => setOpen(false)}\n >\n 这是大尺寸对话框的内容区,可放置表单或说明文字。\n \n \n );\n}", "vue3": "\n\n", "vue2": "\n\n", "tsx": "import { useState } from 'react';\nimport { KoleModal } from 'kole-ui/react';\n\ntype ModalSize = 'small' | 'default' | 'large';\n\nexport default function LargeModal(): JSX.Element {\n const [open, setOpen] = useState(false);\n const size: ModalSize = 'large';\n\n function close(): void {\n setOpen(false);\n }\n\n return (\n <>\n \n \n 这是大尺寸对话框的内容区,可放置表单或说明文字。\n \n \n );\n}", "vue3ts": "\n\n", "vue2ts": "\n\n" }, "notes": "依据 frameworks/Modal.html L44 openModal(\"large\")、L55 类名 kole-modal--large 与 L61 正文「这是大尺寸对话框的内容区…」;size 取值 small|default|large 见 Modal.jsx L14 注释与 Modal.vue2.vue L24 validator。" }, { "id": "modal-ex-3", "title": "打开小对话框", "titleSrc": "demo", "desc": "", "html": "", "preview": { "show": [ [ 0, 4 ] ], "hide": [ [ 1 ], [ 2 ], [ 0, 0 ], [ 0, 1 ], [ 0, 2 ], [ 0, 3 ] ], "mode": "scenarios" }, "previewSafe": true, "previewUnsafeReasons": [], "source": "curated", "code": { "html": "", "jsx": "import { useState } from 'react';\nimport { KoleModal } from 'kole-ui/react';\n\nexport default function SmallModal() {\n const [open, setOpen] = useState(false);\n return (\n <>\n \n setOpen(false)}\n onOk={() => setOpen(false)}\n >\n 这是小尺寸对话框的内容区,可放置表单或说明文字。\n \n \n );\n}", "vue3": "\n\n", "vue2": "\n\n", "tsx": "import { useState } from 'react';\nimport { KoleModal } from 'kole-ui/react';\n\ntype ModalSize = 'small' | 'default' | 'large';\n\nexport default function SmallModal(): JSX.Element {\n const [open, setOpen] = useState(false);\n const size: ModalSize = 'small';\n\n function close(): void {\n setOpen(false);\n }\n\n return (\n <>\n \n \n 这是小尺寸对话框的内容区,可放置表单或说明文字。\n \n \n );\n}", "vue3ts": "\n\n", "vue2ts": "\n\n" }, "notes": "依据 frameworks/Modal.html L45 openModal(\"small\")、L55 类名 kole-modal--small 与 L61 正文「这是小尺寸对话框的内容区…」;三档宽度 320/480/680 见 Modal.html L22-24 与 contract.structure.width。" } ], "curated": true }