签入版本

This commit is contained in:
2026-10-10 19:17:02 +08:00
parent 3423dea03f
commit 32f941b631
232 changed files with 4264 additions and 6251 deletions
@@ -8,27 +8,30 @@
### 按钮 loading
ElementPlus 的按钮组件支持 `loading` 属性,请求期间禁用按钮:
NaiveUI 的按钮组件支持 `loading` 属性,请求期间禁用按钮:
```vue
<template>
<el-button
<n-button
type="primary"
:loading="submitting"
@click="handleSubmit"
>
提交
</el-button>
</n-button>
</template>
<script setup>
import { useMessage } from 'naive-ui';
const message = useMessage();
const submitting = ref(false);
async function handleSubmit() {
submitting.value = true;
try {
await exampleAdd(formData.value);
ElMessage.success('添加成功');
message.success('添加成功');
} finally {
submitting.value = false;
}
@@ -41,12 +44,15 @@ async function handleSubmit() {
前端提供 `useLockFn` 钩子函数,实现请求级别的防重复提交:
```typescript
import { useLockFn } from '@/utils/lock';
import { useLockFn } from '@/utils/useLockFn';
import { useMessage } from 'naive-ui';
const message = useMessage();
// 包装提交函数,防止重复点击
const handleSubmit = useLockFn(async () => {
const { lockFn: handleSubmit } = useLockFn(async () => {
await exampleAdd(formData.value);
ElMessage.success('添加成功');
message.success('添加成功');
});
```