2 回答
TA贡献1155条经验 获得超0个赞
初始渲染idx似乎未定义。
替换这个:
:key="tabItem.idx"
有了这个:
:key="idx"
现在应该可以正常工作了。
或者,您可以使用v-for类似:
v-for="tabItem in tabs"
现在,使用tabItem.idx就像在其他类似tabItem.name.
所以,这是您更新的代码:
<nav class="tabs__header" >
<ul>
<li>
<a
ref="tabItems"
v-for="tabItem in tabs"
:key="tabItem.idx"
:class="{ 'b-active': tabItem.idx == selectedIndex }"
@click="changeTab(idx)">
<span v-if="icon"> {{ tabItem.icon }} </span>
{{ tabItem.name }}
</a>
</li>
</ul>
</nav>
TA贡献1829条经验 获得超13个赞
问题解决了,原来是数据类型问题,显然tabIndex
是String,selectedIndex
是Number。我变了:
:class="{ 'b-active': idx === selectedIndex }"
到:
:class="{ 'b-active': idx == selectedIndex }"
成功了!
- 2 回答
- 0 关注
- 127 浏览
添加回答
举报