J'essaie de réaffecter le composant si la ligue sélectionnée a changé
<label class="label">Select league</label> <div class="selector"> <v-select v-model="selectedLeague" :dropdown-should-open="dropdownShouldOpen" :options="leagues" label="displayLeague" placeholder="Select a league" /> </div> <div v-if="selectedLeague"> <LeagueTopScorers :is="selectedLeague" :selectedLeague="selectedLeague.id.toString()" /> </div>
Dans le composant LeagueTopScorers, j'obtiens l'API pour obtenir les meilleurs buteurs de la ligue sélectionnée.
J'ai essayé : regarder, v-on :, créé()
确实当selectedLeague
Rend le rendu une fois modifié 1, mais il ne sera pas réinstallé. Il ne sera monté que siselectedLeague
passe d'une valeur falsy à une valeur truthy (car c'est à ce moment-là quev-if change).
Votre question pose quelques problèmes :
v-select
是什么,
是什么,或者:is
属性在
v-select, ce qu'est .
est un composant vue-select ou Vuetify selectD'après l'extrait de code que vous avez publié, je suppose ce qui suit :-
v-select
v-select:is
在
上的工作方式与在
的 init 生命周期挂钩中(例如:onMounted
)在您将selectedLeague
Enfin et surtout, je pense que vous souhaitez mettre du code dans le hook de cycle de vie d'initialisation de (par exemple : onMounted) dans votre L'objet stocké est remplacé par un autre objet .
Si j'ai raison, le moyen le plus simple et le plus propre d'obtenir ce comportement est de créer un calcul
v-if
、:key
和:selectedLeague
2...et utilisez-le dans).
Chaque fois que à chaque fois que le 🎜leagueId change, mais sans plus de détails et/ou de contexte, je ne peux pas être plus utile 🎜
leagueId
更改时,上面都会创建一个
的新实例,并且仅在leagueId
v-if, :key et :selectedLeague : (sans le wrapperleagueId change, ce qui précède crée une nouvelle instance de
et n'en restitue qu'une si leagueId n'est pas faux. Je crois que c'est ce que vous essayez techniquement de réaliser
- Utilisez 🎜selectedLeague.value?.id.toString() si 🎜 est une 🎜ref🎜 🎜🎜🎜3🎜🎜🎜 - En attendant, je suis sûr que les besoins réels de l'entreprise peuvent être satisfaits sans créer une nouvelle instance de 🎜3.
代码>Remarque :
1
selectedLeague
,则使用selectedLeague.value?.id.toString()
是一个ref
- Pour vérifier, utilisezonUpdated(() => console.log('updated...')) 2
每次leagueId