问题:
开发过程中,我们可能会取接口返回的数组数据的第一项,进行页面渲染。当某一用户的该数据为空时,就会出现未定义的报错。
如下:
<script>
export default {
data() {
return {
dealItem:{}
};
},
methods:{
getPersonInfo(){
this.sendRequest({ // 获取待办数据
url : `flow/act/flowTask/qureyHandleTasks`,
method : "GET",
data : {
userId:userId,
taskName:'入库',
processDefinitionId:'sample:1:35016'
},
hideLoading : true,
success: (res) => {
if(res.code === 0){
this.dealItem = res.data.datas[0]
this.judgeState()
}
}
})
},
judgeState(){
if(this.dealItem.progress === 100){
this.state = true
this.dealItem.stateContent = '已通过'
}else{
this.state = false
this.dealItem.stateContent = '待通过'
}
}
},
beforeMount(){
this.getPersonInfo()
}
}
</script>
报错:
解决:
1.给定默认值;
2.判断是否为空,为空时使用给定的默认值;
<script>
export default {
data() {
return {
dealItem:{
sampleName: "无待办",
stateContent: "无待办",
progress:100,
taskName: "无待办"
}
};
},
methods:{
getPersonInfo(){
this.sendRequest({ // 获取待办数据
url : `flow/act/flowTask/qureyHandleTasks`,
method : "GET",
data : {
userId:userId,
taskName:'入库',
processDefinitionId:'sample:1:35016'
},
hideLoading : true,
success: (res) => {
if(res.code === 0){
if(res.data.datas.length === 0){
return
}else{
this.dealItem = res.data.datas[0]
this.judgeState()
}
}
}
})
},
judgeState(){
if(this.dealItem.progress === 100){
this.state = true
this.dealItem.stateContent = '已通过'
}else{
this.state = false
this.dealItem.stateContent = '待通过'
}
}
},
beforeMount(){
this.getPersonInfo()
}
}
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/141460.html