导航菜单

AlertDialog

简介

AlertDialog 组件用于显示简单的确认对话框,支持国际化,带有淡入淡出动画效果。

案例

这是一个基础的确认对话框示例

---
import { AlertDialog, Button } from '@coffic/cosy-ui';
---

<div style="padding: 1rem;">
    <Button onclick="showAlertDialog('basic-dialog')"> 显示确认对话框 </Button>

    <AlertDialog message="这是一个基础的确认对话框示例" id="basic-dialog" />
</div>
<script setup lang="ts">
import { AlertDialog } from '@coffic/cosy-ui/vue';
import { ref } from 'vue';

const showDialog = ref(false);
</script>
<template>
    <div style="display: flex; flex-direction: column; gap: 1rem">
        <button @click="showDialog = true" class="cosy:btn cosy:btn-primary">
            显示对话框
        </button>
        <AlertDialog v-model="showDialog" message="这是一条重要信息" />
    </div>
</template>

Props

class

自定义 CSS 类名,用于覆盖默认样式。

这是一个带有自定义样式的确认对话框

---



import { AlertDialog, Button } from "@coffic/cosy-ui";
---

<div style="padding: 1rem;">
  <Button onclick="showAlertDialog('custom-dialog')"
    >显示自定义样式对话框</Button
  >

  <AlertDialog
    message="这是一个带有自定义样式的确认对话框"
    id="custom-dialog"
    class="cosy:bg-primary cosy:text-primary-content"
  />
</div>
<script setup lang="ts">
import { AlertDialog } from '@coffic/cosy-ui/vue';
import { ref } from 'vue';

const showDialog = ref(false);
</script>
<template>
    <div style="display: flex; flex-direction: column; gap: 1rem">
        <button @click="showDialog = true" class="cosy:btn cosy:btn-primary">
            显示自定义样式对话框
        </button>
        <AlertDialog v-model="showDialog" message="这是一个带有自定义样式的确认对话框"
            class="cosy:bg-primary cosy:text-primary-content" />
    </div>
</template>

id

对话框的唯一标识符,用于通过 JavaScript 控制对话框的显示和隐藏(仅 Astro 版本)。

这是一个基础的确认对话框示例

---
import { AlertDialog, Button } from '@coffic/cosy-ui';
---

<div style="padding: 1rem;">
    <Button onclick="showAlertDialog('basic-dialog')"> 显示确认对话框 </Button>

    <AlertDialog message="这是一个基础的确认对话框示例" id="basic-dialog" />
</div>
<script setup lang="ts">
import { AlertDialog } from '@coffic/cosy-ui/vue';
import { ref } from 'vue';

const showDialog = ref(false);
</script>
<template>
    <div style="display: flex; flex-direction: column; gap: 1rem">
        <button @click="showDialog = true" class="cosy:btn cosy:btn-primary">
            显示对话框
        </button>
        <AlertDialog v-model="showDialog" message="这是一条重要信息" />
    </div>
</template>

lang

语言设置,影响按钮文本,支持中文(zh)和英文(en)两种语言。

This is an English confirmation dialog example

---



import { AlertDialog, Button } from "@coffic/cosy-ui";
---

<div style="padding: 1rem;">
  <Button onclick="showAlertDialog('english-dialog')">
    Show English Dialog
  </Button>

  <AlertDialog
    message="This is an English confirmation dialog example"
    lang="en"
    id="english-dialog"
  />
</div>
<script setup lang="ts">
import { AlertDialog } from '@coffic/cosy-ui/vue';
import { ref } from 'vue';

const showDialog = ref(false);
</script>
<template>
    <div style="display: flex; flex-direction: column; gap: 1rem">
        <button @click="showDialog = true" class="cosy:btn cosy:btn-primary">
            Show English Dialog
        </button>
        <AlertDialog v-model="showDialog" message="This is an English confirmation dialog example" lang="en" />
    </div>
</template>

message

对话框显示的消息内容,支持任意文本内容。

这是一个基础的确认对话框示例

---
import { AlertDialog, Button } from '@coffic/cosy-ui';
---

<div style="padding: 1rem;">
    <Button onclick="showAlertDialog('basic-dialog')"> 显示确认对话框 </Button>

    <AlertDialog message="这是一个基础的确认对话框示例" id="basic-dialog" />
</div>
<script setup lang="ts">
import { AlertDialog } from '@coffic/cosy-ui/vue';
import { ref } from 'vue';

const showDialog = ref(false);
</script>
<template>
    <div style="display: flex; flex-direction: column; gap: 1rem">
        <button @click="showDialog = true" class="cosy:btn cosy:btn-primary">
            显示对话框
        </button>
        <AlertDialog v-model="showDialog" message="这是一条重要信息" />
    </div>
</template>

modelValue

控制对话框显示状态,支持 v-model 双向绑定(仅 Vue 版本)。

这是一个基础的确认对话框示例

---
import { AlertDialog, Button } from '@coffic/cosy-ui';
---

<div style="padding: 1rem;">
    <Button onclick="showAlertDialog('basic-dialog')"> 显示确认对话框 </Button>

    <AlertDialog message="这是一个基础的确认对话框示例" id="basic-dialog" />
</div>
<script setup lang="ts">
import { AlertDialog } from '@coffic/cosy-ui/vue';
import { ref } from 'vue';

const showDialog = ref(false);
</script>
<template>
    <div style="display: flex; flex-direction: column; gap: 1rem">
        <button @click="showDialog = true" class="cosy:btn cosy:btn-primary">
            显示对话框
        </button>
        <AlertDialog v-model="showDialog" message="这是一条重要信息" />
    </div>
</template>

Slots

default

无插槽内容,所有内容通过 message 属性传递。

搜索