TypeError: Cannot read property 'length'

发布于 7 年前作者 luoxia5473 次浏览最后编辑 7 年前来自 ask
  • 当前 Bug 的表现(可附上截图)

  • 预期表现

  • 复现路径

  • 提供一个最简复现 Demo

使用了 picker 选择器导致的错误,

onLoad: function (options) {
    let pages = getCurrentPages()
    console.log(pages)
    let prevPage = pages[pages.length - 2]
    wx.setNavigationBarTitle({
      title: prevPage.data.title
    })
 
}
 
 
bindPickerChange(e) {
 
console.log('picker发送选择改变,携带值为', e.detail.value)
 
// this.setData({
 
//   index: e.detail.value
 
// })
 
},

点击 picker 选择器就会报错,

VM100557:5 TypeError: Cannot read property ‘length’ of null

看不懂这个 length 是不是 let prevPage = pages[pages.length - 2]这里的length的错误?

但是加载页面的时候, console.log(pages) 是有值的 ,prevPage.data.title 也获取到值,

只要点击了 picker 就发生上面的错误,


所以不知道这个 picker 是怎么做的????这个 length 错误是 picker 导致 getCurrentPages() 的 length 错误?

还是说 picker 内部有 length 发生了错误??

2 回复
lihou
lihou1 楼6 年前

咋解决的啊,在线等

qxiong
qxiong2 楼5 年前

你的picker是怎么渲染的,用的哪种类型,初始数据是什么?可以先检查一下