我有一个简单的隐藏表格
<template>
<form ref="form" method="POST" action="https://target.com/post" accept-charset="utf-8">
<input type="hidden" name="data" :value="myData"/>
<input type="hidden" name="signature" v-model="mySignature" />
<input ref="submit" type="submit">
</form>
</template>
我希望我的方法附加到不同的按钮(v-on:click="submitForm"
)来提交这个表单来设置数据。
export default {
name: 'MyComponent',
methods: {
submitForm() {
// should update values for inputs
this.myData = 'dynamically calculated';
this.mySignature = 'creates signature from data';
// submit the form with values above
this.$refs.form.submit();
},
},
data() {
return {
myData: null,
mySignature: null,
}
}
}
但似乎我误解了反应性/绑定/参考?在Vue中,所以我尝试过
this.$refs.submit.click();
this.$forceUpdate();
- 设置
:value="myData"
/v-model="myData"
打开输入
并且这些方法都不起作用。发送的表单带有data
/的空字段signature
,因此似乎变量未更新或表单无法在一个函数调用中重新呈现。进行此类更新的正确方法是什么?