简体   繁体   English

Vue.js路由器查询数组

[英]Vue.js Router Query Array

I'm trying to do is pass an array from query to the backend using Vue.js and router. 我正在尝试使用Vue.js和路由器将数组从查询传递到后端。

So I have this method: 所以我有这种方法:

submitForm () {
  this.$router.push({
    name: 'AuctionResult',
    query: {
      models: this.selectedModels.map(e => e.value)
    }
  })
},

As a result will be query like this: ?models=MODEL1&models=MODEL2... But how can I make inputs look like array, like this: ?models[]=MODEL1&models[]=MODEL2... ??? 结果将是这样的查询: ?models=MODEL1&models=MODEL2...但是我如何使输入看起来像数组,就像这样: ?models[]=MODEL1&models[]=MODEL2... ???

I didn`t find anything in the documentation. 我没有在文档中找到任何东西。

To support PHP / array style multi-values, you can just set the key name to be what you want, ie 为了支持PHP /数组样式多值,您可以将键名设置为所需的名称,即

query: {
  'models[]': this.selectedModels.map(e => e.value)
}

This may come out as 这可能会出来

?model%5B%5D=MODEL1&model%5B%5D=MODEL2...

but that's fine (it's just URL encoded) and your server-side request handler should decode it correctly. 但这很好(它只是URL编码的),并且您的服务器端请求处理程序应正确对其进行解码。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM