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 關注
- 186 瀏覽
添加回答
舉報