javascript - Vue - 我如何传递按钮值以提交表单?
问题描述
我创建了一个 Vue 表单,其中有两个按钮。在我的formSubmit()
功能中,我需要以某种方式找到用于提交表单的按钮。这是我尝试过的:
<form @submit.prevent="formSubmit()">
<input type="text" class="form-control" v-model="name">
<input type="text" class="form-control" v-model="product">
<button class="btn btn-primary" v-model="buttonType" value="button1">BUTTON1</button>
<button class="btn btn-primary" v-model="buttonType" value="button2">BUTTON2</button>
</form>
我的功能:
formSubmit(){
console.log(this.buttonType)
}
但是一旦我点击按钮,我总是得到一个undefined
. 有没有其他方法可以获取用于提交表单的按钮?任何建议表示赞赏。
解决方案
您不应该真正v-model
在<button>
元素上使用。
您可以为每个按钮注册单独的事件处理程序,并在相应事件处理程序发生时调用提交表单。
<form @submit.prevent="onFormSubmit">
<button @click="onClickButton1">Button 1</button>
<button @click="onClickButton2">Button 2</button>
</form>
{
// ...
methods: {
onFormSubmit() {},
onClickButton1() {
// code for when button 1 is pressed
this.onFormSubmit()
},
onClickButton2() {
// code for when button 2 is pressed
this.onFormSubmit()
},
},
}
推荐阅读
- flutter - 为什么Dialog不会立即关闭?
- tableau-api - 是否可以将 Kolmogorov-Smirnov 检验计算为计算字段?
- pandas - Pandas 合并两个 DataFrame 导致内存泄漏
- sql-server - 连接到 SQL Server 时如何查找服务器名称?
- php - Laravel 安装错误:[ErrorException] file_get_contents(): read of 8192 bytes failed with errno=9 Bad file descriptor
- php - php 应用程序中的 Tron 钱包集成
- android - 如何动态设置颤动闪屏中的持续时间?
- php - 一种形式写入数据库,另一种没有
- c++ - C++ 派生类和基复制构造函数作为指针
- java - 有没有一种快速的方法可以使用 java 获取设备上的所有音频文件?