element-ui 级联选择器使用bug

element-ui 级联选择器使用bug

最近项目需要一个城市选择框,虽然网上有很多插件,但是项目数据库使用的city表和网上的不一致,所以我就自己写了城市的级联选择器。实现的效果如下图:


效果.gif

本来做好了很开心,可是测试人员反应说选择器拉到列表拉到底页面会卡死!我???一脸懵逼,一开始猜测是一次性加载的数据太大导致,但想一想,没理由大家的组件都可以加载的城市选择列表就我的数据量会过大呀。然后看选择器拉到页面底部,发现是最后一个选项是“台湾”


拉到底.gif

对比后台接口取出来的数据,我发现香港、澳门、台湾三个都没有返回子列表给我,我存进选择器数组的数据自然这三个选项也没有子列表,当选择器拉到香港时,因为没有子列表渲染数据,页面就出错了,直接导致了页面的崩溃……
....前面省略N行
/* 后台接口返回数据 */
31: {cityId: 810000, name: "香港", pid: 0, children: []}
  children: []
  cityId: 810000
  name: "香港"
  pid: 0
32: {cityId: 820000, name: "澳门", pid: 0, children: []}
  children: []
  cityId: 820000
  name: "澳门"
  pid: 0
33: {cityId: 930000, name: "台湾", pid: 0, children: []}
  children: []
  cityId: 930000
  name: "台湾"
  pid: 0

找到了原因,我就直接将数据存在前端,然后对列表最后的这三组数据进行加工,解决了这个小bug:

....前面省略N行
  /**
   * @description 下面三项与数据库city表内容并不对应,
   *              但是代码中截取的页面数据是children的value值,这与数据库是对应的
  */
  {
    'value': 811000,
    'label': '香港',
    'pid': 0,
    'children': [{
      'value': 810000,
      'label': '香港',
      'pid': 811000
    }]
  }, {
    'value': 821000,
    'label': '澳门',
    'pid': 0,
    'children': [{
      'value': 820000,
      'label': '澳门',
      'pid': 821000
    }]
  }, {
    'value': 931000,
    'label': '台湾',
    'pid': 0,
    'children': [{
      'value': 930000,
      'label': '台湾',
      'pid': 931000
    }]
  }]

本来都想着要做异步加载数据了,还好本大爷机智,想到看看是不是数据出了问题,找到了真正出问题的地方。
PS:有没有哪位路过得的看官知道有什么检测bug的工具可以用么,欢迎留言告诉我。我现在写的项目只要有错页面就会卡死,都不知道是代码错还是后台返回数据不当导致的错误,找到导致错误的关键点好难T^T

今天又是创造bug的一天喵~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 服务器各种类型介绍 按照体系架构来区分,服务器主要分为两类: 非x86服务器 非x86服务器:包括大型机、小型机和...
    伟易阅读 264评论 0 0
  • Anddroid开发之Handler机制原理分析 标签(空格分隔): Android知识总结 整个流程 整个流程请...
    zhangwenhao阅读 314评论 0 0
  • 因为我自己本身行业的缘故,接触一些互联网方面的朋友交流,通过交流呢,我越来越清晰这个全新的时代是什么?这个...
    金妍141319阅读 677评论 0 0
  • “每个人都存在为爱表达的方式,但这并不能成为要求别人为其妥协的理由,这是一场难以沟通的意识鸿沟上的持久拉锯,缺...
    辰时的月亮阅读 733评论 0 0
  • 亲爱的我: 忙碌的一天,因成长而充实。 今日李笑来12条得到,一起学习: 做到的秘密: 1.不要用短跑的方式去长跑...
    周洋_图乐园阅读 237评论 3 7