🔥 遇见我们的新项目 t0ggles - 您终极的项目管理工具! 🔥

操作表 React 组件

操作表是一个向上滑动的面板,用于向用户展示一组关于如何继续执行给定任务的备选方案。

您也可以使用操作表来提示用户确认可能存在危险的操作。

操作表包含一个可选的标题和一个或多个按钮,每个按钮对应一个要执行的操作。

操作表组件

包括以下组件

  • 操作
  • 操作按钮
  • 操作标签
  • 操作组

操作 Props

名称类型默认值描述
backdrop布尔值true

启用操作表背景(后面半透明的深色层)

component字符串'div'

组件的 HTML 元素

opened布尔值false

允许打开/关闭操作表并设置其初始状态

onBackdropClick函数(e)

背景元素上的点击处理程序

操作按钮 Props

名称类型默认值描述
bold布尔值未定义

使按钮文本加粗。覆盖 boldIosboldMaterial

boldIos布尔值false

在 iOS 主题中使按钮文本加粗

boldMaterial布尔值false

在 Material 主题中使按钮文本加粗

colors对象

包含 Tailwind CSS 颜色类的对象

colors.activeBgIos字符串'active:bg-neutral-200 dark:active:bg-neutral-700'
colors.activeBgMaterial字符串''
colors.bgIos字符串'bg-white dark:bg-neutral-800'
colors.bgMaterial字符串'bg-md-light-surface-3 dark:bg-md-dark-surface-3'
colors.textIos字符串'text-primary'
colors.textMaterial字符串'text-md-light-on-surface dark:text-md-dark-on-surface'
component字符串'button'

组件的 HTML 元素

dividers布尔值未定义

呈现按钮外部细线(边框)。如果未指定,将为 iOS 主题启用

fontSizeIos字符串'text-xl'

iOS 主题中按钮文本的字体大小

fontSizeMaterial字符串'text-base'

Material 主题中按钮文本的字体大小

href字符串

链接的 href 属性,当指定时,也将被呈现为 <a> 元素

touchRipple布尔值true

在 Material 主题中启用触控涟漪效果

操作标签 Props

名称类型默认值描述
colors对象

包含 Tailwind CSS 颜色类的对象

colors.bgIos字符串'bg-white dark:bg-neutral-800'
colors.bgMaterial字符串'bg-md-light-surface-3 dark:bg-md-dark-surface-3'
colors.textIos字符串'text-black text-opacity-55 dark:text-white dark:text-opacity-55'
colors.textMaterial字符串'text-md-light-primary dark:text-md-dark-primary'
component字符串'div'

组件的 HTML 元素

dividers布尔值未定义

呈现按钮外部细线(边框)。如果未指定,将在 iOS 主题中启用

fontSizeIos字符串'text-sm'

iOS 主题中按钮文本的字体大小

fontSizeMaterial字符串'text-sm'

Material 主题中按钮文本的字体大小

操作组 Props

名称类型默认值描述
component字符串'div'

组件的 HTML 元素

dividers布尔值true

呈现组外部细线(边框)。(仅在 Material 主题中)

示例

ActionSheet.jsx
import React, { useState } from 'react';
import {
Page,
Navbar,
NavbarBackLink,
Button,
Block,
BlockTitle,
Actions,
ActionsGroup,
ActionsLabel,
ActionsButton,
} from 'konsta/react';
export default function ActionSheetPage() {
const isPreview = document.location.href.includes('examplePreview');
const [actionsOneOpened, setActionsOneOpened] = useState(false);
const [actionsTwoOpened, setActionsTwoOpened] = useState(false);
return (
<Page>
<Navbar
title="Action Sheet"
/>
<Block strong inset className="space-y-4">
<p>
Action Sheet is a slide-up pane for presenting the user with a set of
alternatives for how to proceed with a given task.
</p>
</Block>
<BlockTitle>Open Action Sheet</BlockTitle>
<Block strong inset className="flex space-x-4 rtl:space-x-reverse">
<Button onClick={() => setActionsOneOpened(true)}>One group</Button>
<Button onClick={() => setActionsTwoOpened(true)}>Two groups</Button>
</Block>
<Actions
opened={actionsOneOpened}
onBackdropClick={() => setActionsOneOpened(false)}
>
<ActionsGroup>
<ActionsLabel>Do something</ActionsLabel>
<ActionsButton onClick={() => setActionsOneOpened(false)} bold>
Button 1
</ActionsButton>
<ActionsButton onClick={() => setActionsOneOpened(false)}>
Button 2
</ActionsButton>
<ActionsButton onClick={() => setActionsOneOpened(false)}>
Cancel
</ActionsButton>
</ActionsGroup>
</Actions>
<Actions
opened={actionsTwoOpened}
onBackdropClick={() => setActionsTwoOpened(false)}
>
<ActionsGroup>
<ActionsLabel>Do something</ActionsLabel>
<ActionsButton onClick={() => setActionsTwoOpened(false)} bold>
Button 1
</ActionsButton>
<ActionsButton onClick={() => setActionsTwoOpened(false)}>
Button 2
</ActionsButton>
</ActionsGroup>
<ActionsGroup>
<ActionsButton onClick={() => setActionsTwoOpened(false)}>
Cancel
</ActionsButton>
</ActionsGroup>
</Actions>
</Page>
);
}
代码许可证 MIT.
2022 © Konsta UI by nolimits4web.