Aucomplete - Disparition d'une clé d'un objet JS

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
phdphd
Messages : 7
Enregistré le : 27 févr. 2022, 11:50

Aucomplete - Disparition d'une clé d'un objet JS

Message par phdphd » 13 mars 2022, 21:49

Bonjour,
J’aimerais avoir l’avis d’experts…
Tout le monde connaît le principe de l’autocomplete avec défilement infini, qui permet à l’utilisateur de taper des caractères dans une zone de texte et de se voir proposer une liste de solutions qui s’enrichit si l’utilisateur la fait défiler vers le bas.
J'ai mis en place un autocomplete reposant sur le même principe, mais qui répartit les suggestions dans quatre zones défilables. En effet, les informations étant extraites de quatre tables représentant des choses totalement différentes, il m’a semblé logique d’organiser les réponses en quatre catégories.
La solution mise en place fonctionne bien, mais j’ai remarqué un comportement erratique, à savoir que parfois une liste ne s’enrichit pas quand l’utilisateur la fait défiler vers le bas, alors que la clé de l’objet JS construit à partir des données rapatriées de la BD est censée contenir d’autres informations. (Cet objet possède quatre clés, chacune contenant les informations destinées à l’une des quatre zones défilables.)
Pour en avoir le cœur net, j’ai ouvert la console afin d’avoir un aperçu dynamique de la hiérarchie de l’objet JS. Et, bizarrement, parfois, la clé censée alimenter la zone défilable disparaît de l’objet JS, alors qu’aucune ligne de code ne la supprime de l’objet.
Qu’est-ce qui peut expliquer cette disparition soudaine de la clé ?
Merci de vos éclairages !

Avatar du membre
webmaster
Administrateur du site
Messages : 577
Enregistré le : 28 févr. 2017, 15:19

Re: Aucomplete - Disparition d'une clé d'un objet JS

Message par webmaster » 14 mars 2022, 10:47

Bonjour,

Je ne vois pas trop de raisons pour qu'une propriété d'un objet disparaisse.
Mais il faut se méfier de la console. Le contenu qui est affiché lorsqu'on déplie un objet est celui au moment du clic sur la flèche, pas au moment du console.log()
Voir l'infobulle (i) à côté de l'objet qui indique la subtilité.
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Répondre