doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:6194回复:0

[vue]Vue Error: Invalid prop: type check failed for prop "index".错误原因

楼主#
更多 发布于:2019-05-29 11:35
在elementUI导航组件中加入后台数据驱动循环生成导航过程中,报错错误error:
Invalid prop: type check failed for prop "index". Expected String with value "2", got Number with value 2
代码如下:
<template  v-for="(item,index) in menulist">
          <el-menu-item v-if="item.menuChilds.length==0" :index="(index+1)" >
            <i class="el-icon-menu"></i>
            <span slot="title"> pw_item.menuName</span>
          </el-menu-item>
          <template  v-else>
            <el-submenu :index="(index+1)">
              <template slot="title">
                <i class="el-icon-location"></i>
                <span> pw_index+1}pw_item.menuName</span>
              </template>
              <el-menu-item v-for="(submenu,subindex) in item.menuChilds" :index="(index+1)+'-'+(subindex+1)">
                <i class="el-icon-menu"></i>
                <span slot="title"> pw_submenu.menuName</span>
              </el-menu-item>
            </el-submenu>
          </template >
        </template >


百度翻译后, 发现
原来是elementUI的:index字段为字符串格式,后台数据为num格式,格式警告,格式转换,问题解决!


解决方法:
   在index后面加个空字符串,这样数字型就转成了字符型
<el-submenu :index="(index+1)+''">

参考:
https://blog.csdn.net/wangxinxin1992816/article/details/88683542
https://www.jianshu.com/p/923dd88a7cb3
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号