vue.js怎样解决按钮多次点击重复提交

JavaScript018

vue.js怎样解决按钮多次点击重复提交,第1张

建议使用ref,给button添加注册ref引用,然后在表单提交的时候,获取button按钮,使其disable置灰。

ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件。

<div id="app">

  <button ref="mybutton" type="primary" @click="save">保存</button>

</div> <script>

new Vue({

  el: "#app",

  data: {

  },

  methods: {

   save() {

     this.$refs.mybutton.disabled = true

    }

  }

})

</script>

<style>

:disabled{   

    border: 1px solid #DDD   

    background-color: #F5F5F5   

    color:#ACA899   

}  

</style>

1.防止重复点击可以添加标记,第一次点击后变为false,每次点击判断这个标记是true才执行 2.如果是按钮防止重复点击,可以再按钮点击后,给按钮添加disabled属性,按钮就再也点击不了 举个例子: Document方式一方式二 //第一种方式 var flag = true

这里之能通过客户端js代码控制,点击的时候将按钮状态设置为关闭,

如果这样的按钮用的比较多,可以通过继承button自定义封装一个防止二次点击的按钮,

很早以前写过这东西,很简单网上可以找到资料,

效果就是点下按钮会变灰并显示“正在提交”之类的。