uniapp 防重复提交
时间: 2024-01-26 09:14:31 浏览: 176
在uniapp中,可以使用防抖函数来防止用户多次提交。防抖函数可以延迟执行一个函数,直到一段时间内没有再次触发该函数,才会执行该函数。这样可以有效地防止用户重复提交。
以下是在uniapp中封装防抖函数的例子:
1. 在`utils/index.js`文件中新建一个防抖函数`debounce`:
```javascript
// 防抖函数
export function debounce(fn, delay) {
let timer;
return function() {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn();
}, delay);
};
}
```
2. 在页面中使用防抖函数:
```javascript
import { debounce } from '@/utils/index.js';
// 在提交的函数中使用防抖函数
const dialogConfirm = debounce(() => {
uni.showLoading({ title: '加载中...' });
let t = state.time.substring(0, 10) + 'T' + state.time.substring(11, 19) + '.545Z';
Insert92a({ userId: uni.getStorageSync('idcard').id || '', barCode: state.number, sampleTime: t })
.then(res => {
console.log(res, '==92');
if (res.code == 200) {
uni.navigateBack();
alertDialog.value.close();
uni.hideLoading();
}
})
.finally(() => {
uni.hideLoading();
});
}, 1500);
```
通过使用防抖函数,可以确保在一段时间内只执行一次提交函数,从而防止用户重复提交。
阅读全文