Sheet 模态框是一种特殊的覆盖类型。这种模态框允许创建具有自定义内容的自定义选择器覆盖。
包含以下组件
Sheet
- sheet 模态框元素名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
backdrop | 布尔值 | true | 启用 Sheet 模态框背景(后面的深色半透明层) |
colors | 对象 | 包含 Tailwind CSS 颜色类别的对象 | |
colors.bgIos | 字符串 | 'bg-white dark:bg-black' | |
colors.bgMaterial | 字符串 | 'bg-md-light-surface dark:bg-md-dark-surface' | |
component | 字符串 | 'div' | 组件的 HTML 元素 |
opened | 布尔值 | false | 允许打开/关闭 Sheet 模态框并设置其初始状态 |
onBackdropClick | function(e) | 背景元素上的点击处理程序 |
import React, { useState } from 'react';import {Page,Navbar,NavbarBackLink,Sheet,Block,Button,Toolbar,Link,} from 'konsta/react';export default function SheetModalPage() {const [sheetOpened, setSheetOpened] = useState(false);return (<Page><Navbartitle="Sheet Modal"/><Block strongIos outlineIos className="space-y-4"><p>Sheet Modals slide up from the bottom of the screen to reveal morecontent. Such modals allow to create custom overlays with customcontent.</p><p><Button onClick={() => setSheetOpened(true)}>Open Sheet</Button></p></Block><SheetclassName="pb-safe"opened={sheetOpened}onBackdropClick={() => setSheetOpened(false)}><Toolbar top><div className="left" /><div className="right"><Link toolbar onClick={() => setSheetOpened(false)}>Done</Link></div></Toolbar><Block><p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Harum adexcepturi nesciunt nobis aliquam. Quibusdam ducimus nequenecessitatibus, molestias cupiditate velit nihil alias incidunt,excepturi voluptatem dolore itaque sapiente dolores!</p><div className="mt-4"><Button onClick={() => setSheetOpened(false)}>Action</Button></div></Block></Sheet></Page>);}