1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2025-05-01 06:39:01 +08:00
2024-06-06 18:05:36 +08:00

139 lines
3.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--------------------------------
- @Author: Ronnie Zhang
- @LastEditor: Ronnie Zhang
- @LastEditTime: 2023/12/04 22:46:57
- @Email: zclzone@outlook.com
- Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top
--------------------------------->
<template>
<CommonPage show-footer>
<n-space size="large">
<n-card title="按钮 Button">
<n-space>
<n-button>Default</n-button>
<n-button type="tertiary">
Tertiary
</n-button>
<n-button type="primary">
Primary
</n-button>
<n-button type="info">
Info
</n-button>
<n-button type="success">
Success
</n-button>
<n-button type="warning">
Warning
</n-button>
<n-button type="error">
Error
</n-button>
</n-space>
</n-card>
<n-card title="带 Icon 的按钮">
<n-space>
<n-button type="info">
<i class="i-material-symbols:add mr-4 text-18" />
新增
</n-button>
<n-button type="error">
<i class="i-material-symbols:delete-outline mr-4 text-18" />
删除
</n-button>
<n-button type="warning">
<i class="i-material-symbols:edit-outline mr-4 text-18" />
编辑
</n-button>
<n-button type="primary">
<i class="i-majesticons:eye-line mr-4 text-18" />
查看
</n-button>
</n-space>
</n-card>
</n-space>
<n-space size="large" mt-30>
<n-card min-w-340 title="通知 Notification">
<n-space>
<n-button @click="notify('info')">
信息
</n-button>
<n-button @click="notify('success')">
成功
</n-button>
<n-button @click="notify('warning')">
警告
</n-button>
<n-button @click="notify('error')">
错误
</n-button>
</n-space>
</n-card>
<n-card min-w-340 title="确认弹窗 Dialog">
<n-button type="error" @click="handleDelete">
<i class="i-mi:delete mr-4" />
删除
</n-button>
</n-card>
<n-card min-w-340 title="消息提醒 Message">
<n-space>
<n-button :loading="loading" type="primary" @click="handleLogin">
<i v-show="!loading" class="i-mdi:login mr-4" />
登录
</n-button>
<n-button type="error" @click="handleMultiMessage">
多个错误提醒
</n-button>
</n-space>
</n-card>
</n-space>
</CommonPage>
</template>
<script setup>
import { sleep } from '@/utils'
const handleDelete = function () {
$dialog.confirm({
content: '确认删除?',
confirm() {
$message.success('删除成功')
},
cancel() {
$message.warning('已取消')
},
})
}
const loading = ref(false)
async function handleLogin() {
loading.value = true
$message.loading('登录中...', { key: 'login' })
await sleep(2000)
$message.error('登录失败', { key: 'login' })
await sleep(500)
$message.loading('正在尝试重新登录...', { key: 'login' })
await sleep(2000)
$message.success('登录成功', { key: 'login' })
loading.value = false
}
function handleMultiMessage() {
$message.error(['用户名不能为空!', '密码不能为空!', '密码必须大于6位'])
}
function notify(type) {
$notification[type]({
content: '说点啥呢',
meta: '想不出来',
duration: 2500,
keepAliveOnHover: true,
})
}
</script>