通过JS弹窗列表选取赋值给input,显示有值,提交时为空

input是通过v-model双向绑定的,直接录入值提交正常,通过JS弹窗列表选取输入值后,再赋值给input,显示有值,提交时为空,不知道哪位同行有空解决一下。

JavaScript 弹窗列表赋值给 input 时,可能没有触发 Vue.js 的观察者 (watcher) 来更新数据绑定,导致提交时 input 的值为空。
使用 Vue.set(object, key, value) 方法更新数据绑定,例如:

Vue.set(this.formData, 'inputName', 'yourValue');


使用 this.$forceUpdate() 方法强制组件重新渲染,例如:

this.formData.inputName = 'yourValue';
this.$forceUpdate();


使用 this.$nextTick(callback) 方法在下一次 DOM 更新循环结束之后执行回调函数,例如:

使用 this.$nextTick(callback) 方法在下一次 DOM 更新循环结束之后执行回调函数,例如:

在弹窗关闭事件中给INPUT赋值后,在什么地方Vue.set(this.formData, 'inputName', 'yourValue')

这个问题可能是由于在赋值给input之前没有触发v-model绑定的数据更新。可以尝试在赋值之后使用Vue.set或者this.$set来触发数据更新,例如:

Vue.set(this, 'inputValue', newValue);

或者

this.$set(this, 'inputValue', newValue);

这样就能够正确地更新input的值并触发v-model绑定。

尝试在赋值之后使用Vue.set或者this.$set来触发数据更新,例如:

Vue.set(this, 'inputValue', newValue);

或者

this.$set(this, 'inputValue', newValue);