今天后台同事给我说刚上线的项目input框功能有问题,
填写一个,整列的都会一起跟着变,可我这里并没有这种问题,所以很烦,感觉并不是我的问题,结果后来在同事的帮助下,和别的前端大佬的帮助下,发现是因为生成表格前的筛选选项不同,
所以有的有问题,有的没问题,并不是因为浏览器的问题,找到问题后,我排查了报错的变量(这里感谢后台同学的帮助,早早得把截图给了我)
这个变量是后台同学传给我的,为什么会报错呢?看了代码才想起来为了区分某一行,和某一页(表格有分页功能),我给这个变量前的变量加了一个下标变量
这个变量undefines的原因是this.trIndex1是undefined,我追根溯源,发现这个变量只在componentWillReceiveProps中定义了,而并没有在componentWillMount中定义,所以有时候会获取不到,这仿佛是概率事件,有时候没事,有时候就不行,所以,其实和筛选条件也没关系,纯粹是运气的问题,我在componentWillMount中定义了this.trIndex之后,问题就解决了,后台那边也好了,再有什么问题的话,就再慢慢排查。
这次的事情教给我两个道理:1.遇到问题不要慌,即使觉得无比难,根本没办法下手,也要保持心态,多听取别人的建议,不要老是觉得人家说的不靠谱,多听,多想,多试,别着急。2.写代码养成良好的习惯,全局变量在组件挂载前就要声明一下,免得再出现这次的问题。