Javascript Laravel无法从Vue multiselect获取值
我正在和拉威尔一起使用 我在表单中使用multiselect组件让用户选择多个国家。该组件工作正常,但当我提交表单并添加表单时,它会显示[object] 我无法获取multiselect组件的值。我发现了类似的问题,但没有一个对我有用 这是我的密码: ExampleComponent.vue文件: 从“vue Multiselect”导入Multiselect //全球注册 Vue.组件“multiselect”,multiselect 导出默认值{ 组成部分:{ 多选 }, 道具:['value'], 资料{ 返回{ 内在价值:这个价值, 选项:[ {姓名:'匈牙利'}, {名称:'美国'}, {名称:'中国'} ] } }, 观察:{ 内在价值{ 这.$emit'input',v; } }, 方法:{ addTag新标签{ 常量标记={ 姓名:newTag,, 代码:newTag.substring0,2+Math.floorMath.random*10000000 } this.options.pushtag this.value.pushtag } }, } 这是我的登记表:Javascript Laravel无法从Vue multiselect获取值,javascript,laravel,vue.js,multi-select,vue-multiselect,Javascript,Laravel,Vue.js,Multi Select,Vue Multiselect,我正在和拉威尔一起使用 我在表单中使用multiselect组件让用户选择多个国家。该组件工作正常,但当我提交表单并添加表单时,它会显示[object] 我无法获取multiselect组件的值。我发现了类似的问题,但没有一个对我有用 这是我的密码: ExampleComponent.vue文件: 从“vue Multiselect”导入Multiselect //全球注册 Vue.组件“multiselect”,multiselect 导出默认值{ 组成部分:{ 多选 }, 道具:['valu
提交表单时,countriespost会向我显示以下内容:[object object],而不是实际值。这是因为您提供了一个对象数组作为选项属性:
options: [
{ name: 'Hungary' },
{ name: 'USA' },
{ name: 'China' }
]
因此,输入时发出的值是一个对象。
尝试将选项更改为以下内容:
options: [ 'Hungary', 'USA', 'China' ]
如果将一个对象数组传递给multiselect组件的:options属性,则应使用javascript提交表单,以便在后端提取对象id或任何需要的内容,然后通过发送它们。 添加如下方法:
submit: function() {
let data = {
objectIds: _.map(this.selectedOptions, option => option.id), //lodash library used here
// whatever other data you need
}
axios.post('/form-submit-url', data).then(r => {
console.log(r);
});
}
然后在您的提交按钮上触发@click.stop事件。谢谢您的回答,现在对我来说很有意义。谢谢您,这样我就可以了。
options: [ 'Hungary', 'USA', 'China' ]
submit: function() {
let data = {
objectIds: _.map(this.selectedOptions, option => option.id), //lodash library used here
// whatever other data you need
}
axios.post('/form-submit-url', data).then(r => {
console.log(r);
});
}