[TOC]
>[success] # 提交表单时传值参数处理方案
有许多时候需要给后台传递的参数跟前端展示的参数不同, 例如前端需要在页面展示的是个数组的内容,但是后台需要传过去的不是数组的形式,而是逗号分隔的字符串形式 , 就需要去把这个数组用join(',')给转换成字符串分隔的形式,但是这样就改变了原数组,如果使用的是element ui的某些ui组件,人家组件要求就是数组形式,强制给转换成字符串就会报错,换以前我的写法:
>[success] ## 以前的写法
~~~
// 变量
data(){
formList: {
a: ['1','2''3']
b: false
}
}
// 参数
let parameter = {
nameLsit: this.formList.a.join(','),
isShow: this.formList.b
}
// 调用接口
Api(parameter).then(res => {
console.log(res,'成功')
}).catch(e => {
console.log(e,'失败')
})
~~~
<br/>
>[success] ## 正确的写法
上面的写法很麻烦也很不实用,如果以后有一个需求需要每次提交表单时候保存提交时候的状态,就会很麻烦重新改代码,正确的写法是使用深拷贝来实现复制一份数据修改复制的数据,然后最终把复制的数据当做参数传给后台
~~~
// 引入深拷贝文件
import { deepCopy } from '@/utils'
// 变量名字直接按照接口需要的名字起
data(){
formList: {
nameLsit: ['1','2''3']
isShow: false
}
}
// 参数
let formList = deepCopy(this.formList)
formList.nameLsit = formList.nameLsit.join(',')
let parameter = formList
// 调用接口
Api(parameter).then(res => {
console.log(res,'成功')
}).catch(e => {
console.log(e,'失败')
})
~~~
- vue复选框逻辑
- get请求给后台传数组
- 提交表单时传值参数处理方案
- Element ui上传图片功能
- async和await的使用
- 时间戳转换
- 日期格式转换时间戳
- 时间戳转换日期格式
- 对深拷贝的认知总结
- vue-右键菜单功能
- textarea中换行、回车、空格的识别与处理
- element ui表格合并
- 合并行(上下行)
- 双层for循环
- 数组去重
- 瀑布流
- 前端多条件筛选
- 闭包的理解
- 改变this指向
- vue单选框逻辑
- 对象数组根据某个属性来进行排序
- vscode插件整理
- 对象数组多条件去重
- Blob类型数据转换Json数据类型
- Element ui做批量上传功能
- 前端cookie和后端cookie
- 强制转换https协议
- 给事件传额外参数
- 树形结构数据处理
- 查找所有父级数据
- 根据id筛选单条数据
- 动态引入阿里图标库
- 四舍五入
- 封装一个Promise.allSettled方法
- 判断输入框内是否有emoji表情
- element-ui的popover组件位置偏移
- formData上传文件时,携带【数组对象参数】
- 前端解压压缩包(zip)解压后上传解压的文件
- element ui表格列相同解决办法
- elementUI,table复选框多选,翻页/切换条数时保持选中状态
- cookie 和 token 的区别