将表单提交推迟到方法?

时间:2017-03-09 14:24:15

标签: vue.js vuejs2

我有一张表格:

<form id="myForm" @submit.prevent="doSomething()">...</form>

doSomething()我进行检查,如果是,我想提交表格。如何在支票后提交表格?

1 个答案:

答案 0 :(得分:10)

将ref属性添加到表单

您可以向表单元素添加ref属性。然后,在doSomething方法中,您可以通过this.$refs.form.submit()提交表单。

模板:

<form id="myForm" ref="form" @submit.prevent="doSomething()">...</form>

Vue组件方法:

doSomething() {
  // do something

  this.$refs.form.submit();
}

有关参考资料的更多信息:https://vuejs.org/v2/api/#ref

将事件对象传递给方法

您还可以通过添加doSomething参数将事件对象传递给$event。这为方法提供了对目标元素的引用:

模板:

<form id="myForm" @submit.prevent="doSomething($event)">...</form>

Vue组件方法:

doSomething(e) {
  // do something

  e.target.submit();
}