You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would say the workaround is the preferred way to write it so you pass one single slot.
This is absolutely ok, but the other way works somehow - and leads to this strange error shown in the jsfiddle.
Thus if there would be some kind of warning like "don't use v-if/v-else together with named slots" either in the console or the docs, it would already help a lot.
@posva I've searched the tests a bit and found those for Vue 2: 'should work with v-if/v-else' and Vue 3: 'named slot with v-if + v-else-if + v-else'.
The fact that there are tests to cover the use of v-if/v-else together with named slots leaves the impression that the reported behavior is indeed a bug and not a missing feature.
Version
3.1.1
Reproduction link
https://jsfiddle.net/4do76tf9/
Steps to reproduce
Just click "+1" in the jsfiddle demo.
What is expected?
Always the same letter should be shown.
What is actually happening?
The v-if content still shows up, even if the v-else should be used.
Noted in v3.0.11, confirmed in v3.1.1.
There is a workaround: just do not use v-if/v-else for named slots content. But it should at least throw a warning and/or be stated in the docs.
Update:
As @ShGKme pointed out in the comments, this works as expected in Vue 2.
Here is a quick demo of the Vue 2 behavior: https://jsfiddle.net/s7cpe1jk/
The text was updated successfully, but these errors were encountered: