vue div五秒内只能点击一次再点击提示请勿重复提交代码
时间: 2023-09-21 08:08:24 浏览: 133
解决vue 按钮多次点击重复提交数据问题
您可以使用 `Vue` 的 `v-on` 指令以及 `setTimeout` 函数实现这个功能。下面是一个简单的示例代码:
```html
<template>
<div>
<button v-on:click="handleClick" :disabled="isDisabled">{{ buttonText }}</button>
<p v-if="showWarning" class="warning">请勿重复提交</p>
</div>
</template>
<script>
export default {
data() {
return {
isDisabled: false,
buttonText: '提交',
showWarning: false
};
},
methods: {
handleClick() {
if (!this.isDisabled) {
this.isDisabled = true;
this.buttonText = '正在提交...';
setTimeout(() => {
this.isDisabled = false;
this.buttonText = '提交';
}, 5000);
} else {
this.showWarning = true;
setTimeout(() => {
this.showWarning = false;
}, 3000);
}
}
}
};
</script>
<style>
.warning {
color: red;
}
</style>
```
在上面的代码中,我们给按钮绑定了一个 `handleClick` 方法,用来处理点击事件。在点击事件中,我们首先判断按钮是否被禁用(即是否已经被点击过),如果没有被禁用,那么我们就将按钮设置为禁用状态,同时将按钮文本设置为“正在提交...”。然后通过 `setTimeout` 函数来在五秒后将按钮重新设置为可用状态,并将按钮文本设置为“提交”。
如果按钮已经被禁用,那么我们就显示一个提示信息,并在三秒后隐藏该提示信息。提示信息的显示和隐藏使用了 `v-if` 指令,通过控制 `showWarning` 数据来实现。提示信息的样式可以通过 `style` 标签来设置。
阅读全文