前言
最近公司接了个新项目,老板说不影响工期的情况下语言不限,于是我就果断采用golang进行研发,找了很久,最后还是采用了 gin-admin(v8)结合gin-admin-react以及gin-admin-cli进行开发,接下来我会将我使用gin-admin-react遇到的坑都一一进行分析,也给自己做一个备忘。
关于gin-admin后端的爬坑记录,请参考我的另外一篇文章gin-admin踩坑
踩坑
1.后台编辑角色的权限时,如果是数据库已经存在的角色但未赋予任何权限的情况下,第一次修改权限,全选时会报错。
2.由于种种原因导致封装的form无法获取select返回多个值问题,自己手撸了一个select控件,具体情况参考如下文章:
select源码点这里
3.select控件不设置默认值的情况下,第一次选择不会被即时渲染问题,(目前还没找到解决方案。)
- JSON.parse + JSON.stringify深拷贝导致object(包括moment对象属性丢失变成字符串)自动转成了string问题解决
//如果外层是对象 则 Object.assign({},data)
var data = {
a: "123",
b: function() { console.log("g"); },
c: new Set([3, 2, null]),
d: Symbol("fsd"),
e: new Map([ ["name", "张三"], ["title", "Author"] ])
};
var newData = Object.assign({},data)
console.log(newData)
//如果外层是数组 则 Object.assign([],data)
var data = {
a: "123",
b: function() { console.log("g"); },
c: new Set([3, 2, null]),
d: Symbol("fsd"),
e: new Map([ ["name", "张三"], ["title", "Author"] ])
};
var newData = Object.assign([],data)
console.log(newData)
5.string时间转moment
moment(new Date(v.start_time)
6.时间传到gin-admin后端,无法识别导致插入数据报错错误(后端是自动通过time.Time类型接收的时间字段,也就是只能在前端进行处理)
const start_time= formatDate(v.start_time, 'YYYY-MM-DD\\T00\\:00\\:00+08\\:00'),