最近遇到一个问题,前端用的vue的select组件,select支持多选,选多个选项则该值需要存储在数组里面['技术部','营销中心']这样,但后端只接受String类型,我既做前端又做后端,前端也尝试了,后端也尝试了,最后发现还是前端改起来比较方便快捷
例如你这个select组件在页面请绑定
departmentList:[]
在传递给后端的时候,传递
department:''
即定义两个字段,然后在select上绑定一个方法监测select值的变化,每次变化都同步转换数据类型更新至department
同样,当后端返回department时候,将department转换数据格式后赋值给departmentList
上代码!
<Select multiple v-model="applicationData.leadDepList" filterable @on-change="onChangeLeadDep">
<Option value="全公司" key="全公司">全公司</Option>
<Option value="员工管理部" key="员工管理部">员工管理部</Option>
</Select>
//将数组转成字符串,index是数组
onChangeLeadDep(index) {
this.applicationData.leadDep = index.join(",");
},
//将字符串转成数组row.leadDep是字符串
openUpdateApplicationModel(row) {
this.applicationData.leadDepList = row.leadDep.split(',')}
以上为解决问题的核心代码
参考了这篇文章
vue怎么将数组转为字符串-前端问答-PHP中文网
更多推荐
前端传递数组给后端
发布评论