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);