You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js表单提交时如何向form数据对象追加position值?

解决Vue表单提交时添加position值的问题

嘿,问题很明显啦!你用了push()方法,但你的form是一个对象,而push()是数组专属的方法,对象根本没有这个方法,所以你的代码自然不会生效😯

给你几种可行的解决方案,按需选择:

1. 直接给form对象添加属性(最简单)

如果提交后不需要保留原form的初始状态,直接赋值就搞定:

onSubmit() {
  // 直接给form对象新增position属性并赋值
  this.form.position = this.position;
  // 接下来就可以提交this.form了
  // 比如:axios.post('/api/submit', this.form)
}

2. 用Object.assign创建新表单对象(不修改原form)

如果需要保留原来的form数据不变,就创建一个新的对象来提交:

onSubmit() {
  // 复制原form的所有属性,再添加position属性
  const submitForm = Object.assign({}, this.form, { position: this.position });
  // 提交这个新对象
  // axios.post('/api/submit', submitForm)
}

3. ES6展开运算符(更简洁的写法)

和上面的效果一样,只是语法更现代化:

onSubmit() {
  // 展开原form的属性,再追加position
  const submitForm = { ...this.form, position: this.position };
  // 提交submitForm
  // axios.post('/api/submit', submitForm)
}

简单总结一下:对象的属性操作是直接赋值或者通过展开/合并的方式,数组才用push()。选最适合你业务场景的方法就好啦!

内容的提问来源于stack exchange,提问作者deeej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:36:00