ExtJS 4 Zone De Liste Déroulante De Saisie Semi-Automatique
J'ai un extjs zone de liste déroulante utilisée pour l'auto-complétion ayant la configuration suivante:
xtype:'combo',
displayField: 'name',
valueField:'id',
store: storeVar,
queryMode: 'remote',
minChars:2,
hideTrigger:true,
forceSelection:true,
typeAhead:true
Il y a deux problèmes par moi:
un. Si un utilisateur choisit une valeur dans la liste retournée par le serveur, mais plus tard, veut supprimer cette valeur et de garder la zone de liste déroulante est vide, puis aussi les anciennes valeurs de la ré-apparaît sur le flou, ne permettant pas de zone de liste déroulante pour rester vides. Comment puis-je permettre à vide valeur dans cette zone de liste déroulante dans un tel cas? Je comprends bien, il pourrait être dû à forceSelection:vrai, mais j'ai besoin de garder ce vrai que sinon, l'utilisateur peut entrer n'importe quelle valeur aléatoire.
b. Lorsque le serveur renvoie une liste vide, je veux afficher un message - Pas de Valeurs que l'on Retrouve. J'ai essayé de faire cela, en mettant cette valeur dans la displayField entité, c'est à dire, {id:", nom: "Pas de Valeur"}. Mais alors dans ce cas, l'utilisateur est en mesure de choisir cette valeur et de l'envoyer à un serveur qui n'est pas ce qui est attendu. Donc, comment puis-je afficher le message pour la liste vide?
Quelqu'un pourrait s'il vous plaît jeter la lumière sur cette?
OriginalL'auteur netemp | 2011-09-08
Vous devez vous connecter pour publier un commentaire.
Pour la question relative à la forceSelection dans la question ci-dessus, voici le hack créé qui peut servir le but prévu:
Ce qui doit être inclus après les fichiers de bibliothèque de extjs ont été inclus.
Pour l'autre problème de message à afficher à l'Absence de Valeurs Trouvés - emptyText - fonctionne très bien comme suggéré par Varun.
Espérons que cette aide à la somone à la recherche de quelque chose de similaire.
OriginalL'auteur netemp
J'ai fait cela pour Ext JS 3.3.1. Je ne sais pas si elles s'appliquent à l'Ext JS 4, bien que je suppose qu'ils le devraient.
Pour le premier problème, définissez
autoSelect : false
.autoSelect
par défaut est défini àtrue
. Cela fonctionnera seulement siallowBlank : true
est réglé. À partir de la documentationPour le second problème, utilisez
listEmptyText
. À partir de la documentationAcclamations.
Je viens de vérifier les docs, les
listEmptyText
peut maintenant être réglé par le biais de lalistConfig
'semptyText
option. Essayez que. Je n'ai pas essayé moi-même. VérifierallowBlank
bien, de nouveau.. C'est la seule config qui va causer la Question 1.Hey Varun, merci pour le post. Je confirme que emptyText sous listConfig travaillé avec succès. Merci encore. Comme de nulle valeur, j'ai l'impression que forceSelection:vrai est primordial d'autres options, donc, même si je ne allowBlank:c'est vrai, mais il n'y a pas de valeur Null présent dans la liste de valeurs, puis combo-box remplit l'ancienne valeur de retour. Une façon d'aborder cette je le sens peut être de l'envoi d'un enregistrement vide à partir du côté serveur, mais malheureusement, il n'est pas élégant. Merci à tous pour votre aide pour l'instant.
Au lieu de cela, il suffit d'écrire un
blur
de l'événement sur lacombo
et claire levalueField
propriété chaque fois que lecombo.getRawValue()
est null ou vide.Grâce Varun, j'ai essayé avec getRawValue(), mais la valeur null ou vide n'apparaît pas comme une valeur jamais. Lorsque la valeur dans la zone de liste déroulante est enlevé, puis aussi getRawValue() retourne l'ancienne valeur. Ainsi, sur le flou, ce n'est pas l'obtention possible de vérifier ce que vous avez mentionné. Merci encore pour toute l'aide jusqu'à présent.
OriginalL'auteur Varun Achar