在做一个小程序项目中,当我在搜索框输入数据后,再点击清除,控制台报错:TypeError: Cannot read property 'songs' of undefined
原因是:我监听了搜索框的输入,当搜索框输入数据时,会调用一个异步请求函数,传入输入的数据。在没有数据时就无法请求到songs的数据所以返回undefined
解决:
需要在进行网络请求之前判断搜索框输入是否为空,如果为空就return
async fetchReqSearchAnswer(keywords,limit=10){
if(this.data.keywords==='')return
let res=await reqSearchAnswer(this.data.keywords)
const songs=res.result.songs
if(res.code===200){
this.setData({value:songs})
}else{
this.setData({ value: ['暂未搜索到相关内容'] })
}