Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6935
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2020-12-30 18:13
个人简介

免费试用订货管理系统 http://scrm.hnek.net/dh/cu8554

文章分类
文章存档

2021年(3)

我的朋友

分类: JavaScript

2021-02-19 17:29:01

在2020年11月24日 pearadmin模板更新之后,我就更新了自己用的模板。但是在前端渲染的时候出现错误,导致纠结了一天时间。最后还是在 就眠仪式 的帮助下排除了错误。

下面是错误原因及排除

  1. 在index.html中,原pear.config.json中关于默认样式的代码如下

    点击(此处)折叠或打开

    1. "theme": {
    2.    "defaultColor": "2",
    3.    "defaultMenu": "dark-theme",
    4.    "allowCustom": true
    5. },
    6. "colors": [{
    7.       "id": "1",
    8.       "color": "#FF5722"
    9.    },
    10.    {
    11.       "id": "2",
    12.       "color": "#5FB878"
    13.    },
    14.    {
    15.       "id": "3",
    16.       "color": "#1E9FFF"
    17.    }, {
    18.       "id": "4",
    19.       "color": "#FFB800"
    20.    }, {
    21.       "id": "5",
    22.       "color": "darkgray"
    23.    }
    24. ],

    点击(此处)折叠或打开

    1. $data['theme']['defaultColor']='2';
    2. $data['theme']['defaultMenu']="dark-theme";
    3. $data['theme']['allowCustom']=true;
    4. $data['colors'][0]=array('id'=>1,'color'=>"#FF5722");
    5. $data['colors'][1]=array('id'=>2,'color'=>"#5FB878");
    6. $data['colors'][2]=array('id'=>3,'color'=>"#1E9FFF");
    7. $data['colors'][3]=array('id'=>4,'color'=>"#FFB800");
    8. $data['colors'][4]=array('id'=>5,'color'=>"darkgray");

而我的PHP输出代码是

上面是原来输出json的代码

二者对比如下:

image.png


经过 就眠仪式 的分析发现 colors 的差异(第28行开始),我输出的json中colors元素中的id是数字(number),而原来json中colors元素中的id是字符(string)

在admin.js中364的getColorById(id)函数中,使用的是===,因为value.id和id类型不一样,所以没有符合条件的数据赋值给color,从而导致color变成  undefined

image.png

解决办法:将php代码中的

点击(此处)折叠或打开

  1. $data['colors'][0]=array('id'=>1,'color'=>"#FF5722");


修改为

点击(此处)折叠或打开

  1. $data['colors'][0]=array('id'=>'1','color'=>"#FF5722");
(将id的值有数字改为字符)


非常感谢 就眠仪式的帮助。强烈推荐 就眠仪式的开源项目


阅读(3659) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~