bibliothèque dijit.forme.filteringselect de modifier dynamiquement les options
J'ai un dijit.form.FilteringSelect
composant et je veux changer les options de manière dynamique. Mais je reçois le magasin de la bibliothèque dijit.forme.FilteringSelectwith son magasin de la propriété; il n'y a pas de setter dans le magasin. (Il peut être un dojo.magasin.Reader)
Alors, comment puis-je changer l'option de dijit.form.FilteringSelect
? Dois-je le modifier directement avec DOM? Est-il possible de mettre à jour la boutique derrière dijit.form.FilteringSelect
?
OriginalL'auteur cn1h | 2011-04-18
Vous devez vous connecter pour publier un commentaire.
il y a deux type de magasin de données dans le dojo:
dojo.les données.ItemFileWriteStore - extension de ItemFileReadStore qui ajoute sur le dojo.les données.l'api.Écrire
Dans votre cas, vous devez utiliser ItemFileWriteStore - il fournit des fonctions permettant de modifier des données dans le magasin.
E. g.:
Vous avez éventail de pays et vous voulez l'utiliser dans le filtrage de la sélection:
Tout d'abord, vous aurez besoin de créer de magasin de données js-variable pour ItemFileWriteStore.
Prochaine étape est de déclarer le filtrage sélectionner et itemFileWriteStore dans le balisage html:
Et enfin créer des fonctions spéciales pour ajouter/supprimer/modifier des éléments de filtrage, sélectionnez:
Ajouter Un Nouvel Élément:
J'espère ici, c'est tout clair. Seule petite remarque: le champ "identifiant" ("abbr" dans notre cas) doit être unique dans le magasin
Supprimer des Éléments - par exemple, suppression de tous les éléments avec le nom "États-unis d'Amérique"
Comme vous pouvez le voir, j'ai créé une requête, qui trouve les articles avec le nom == "États-unis d'Amérique" dans le magasin de données. Après l'exécution de la requête, la fonction "gotNames" sera appelée.
fonction gotNames supprime tous les éléments que la requête en retour.
Et le dernier de la fonction de Modifier l'Élément
il est similaire à la fonction de suppression. une seule différence:
vous devez utiliser
setValue()
méthode de itemFileWriteStore pour changer les propriétés de l'élément:Ici, la page d'exemple
OriginalL'auteur Andrei
J'ai résolu le même problème avec des phrases, espérons que cela aide quelqu'un.
Pour Dojo version < 1.7
Pour Dojo version >= 1.7
Pour modifier l'affichage du texte (sélectionné)
Vous pouvez voir cette liste de propriétés à l'aide de Firebug ou autre console de débogage.
OriginalL'auteur Rodrigo
les propriétés 'urlPreventCache:true, clearOnClose:véritable" force le magasin pour être rechargé
et puis, sur événement/rappel/gestionnaire où vous en avez besoin/voulez réinitialiser les valeurs viens de le faire
OriginalL'auteur Legna