Vue报错:TypeError: Cannot read properties of undefined (reading 'length')

1.报错如下

TypeError: Cannot read properties of undefined (reading 'length'),如下图


image.png

2.错误原因

在报错中,无法准备判断是哪个地方引起的。
排查页面代码后,发现由于在渲染页面时,请求的响应还未返回数据,因此form.payTypeList是undifined,就会出现上述错误

<el-form-item label="支付方式" prop="payTypeList" required>
  <el-checkbox-group v-model="form.payTypeList" class="checkbox">
    <el-checkbox label="1">微信</el-checkbox>
    <el-checkbox label="2">支付宝</el-checkbox>
  </el-checkbox-group>
</el-form-item>

3.解决方案

用v-if判断form.payTypeList是否有数据,有则渲染,没有则不渲染

<el-form-item label="支付方式" prop="payTypeList" required>
  <el-checkbox-group v-if="form.payTypeList"  v-model="form.payTypeList" class="checkbox">
    <el-checkbox label="1">微信</el-checkbox>
    <el-checkbox label="2">支付宝</el-checkbox>
  </el-checkbox-group>
</el-form-item>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容