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

操作表 Vue 组件

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

你也可以使用操作表提示用户确认可能存在风险的操作。

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

操作表组件

包含以下组件

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

操作道具

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

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

component字符串'div'

组件的 HTML 元素

opened布尔值false

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

操作事件

名称类型描述
backdropclickfunction(e)

点击背景元素的处理程序

操作按钮道具

名称类型默认值描述
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 主题中启用触摸涟漪效果

操作标签道具

名称类型默认值描述
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 主题中的按钮文本字体大小

操作组道具

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

组件的 HTML 元素

dividers布尔值true

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

示例

ActionSheet.vue
<template>
<k-page>
<k-navbar title="ActionSheet" />
<k-block strong inset class="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>
</k-block>
<k-block-title>Open Action Sheet</k-block-title>
<k-block strong inset class="flex space-x-4 rtl:space-x-reverse">
<k-button @click="() => (actionsOneOpened = true)">One group</k-button>
<k-button @click="() => (actionsTwoOpened = true)">Two groups</k-button>
</k-block>
<k-actions
:opened="actionsOneOpened"
@backdropclick="() => (actionsOneOpened = false)"
>
<k-actions-group>
<k-actions-label>Do something</k-actions-label>
<k-actions-button bold @click="() => (actionsOneOpened = false)">
Button 1
</k-actions-button>
<k-actions-button @click="() => (actionsOneOpened = false)">
Button 2
</k-actions-button>
<k-actions-button @click="() => (actionsOneOpened = false)">
Cancel
</k-actions-button>
</k-actions-group>
</k-actions>
<k-actions
:opened="actionsTwoOpened"
@backdropclick="() => (actionsTwoOpened = false)"
>
<k-actions-group>
<k-actions-label>Do something</k-actions-label>
<k-actions-button bold @click="() => (actionsTwoOpened = false)">
Button 1
</k-actions-button>
<k-actions-button @click="() => (actionsTwoOpened = false)">
Button 2
</k-actions-button>
</k-actions-group>
<k-actions-group>
<k-actions-button @click="() => (actionsTwoOpened = false)">
Cancel
</k-actions-button>
</k-actions-group>
</k-actions>
</k-page>
</template>
<script>
import {
kPage,
kNavbar,
kNavbarBackLink,
kBlockTitle,
kBlock,
kButton,
kActions,
kActionsButton,
kActionsLabel,
kActionsGroup,
} from 'konsta/vue';
import { ref } from 'vue';
export default {
components: {
kPage,
kNavbar,
kNavbarBackLink,
kBlockTitle,
kBlock,
kButton,
kActions,
kActionsButton,
kActionsLabel,
kActionsGroup,
},
setup() {
const actionsOneOpened = ref(false);
const actionsTwoOpened = ref(false);
return {
actionsOneOpened,
actionsTwoOpened,
};
},
};
</script>
代码许可证 MIT.
2022 © Konsta UI by nolimits4web.