sencha liste de plugin de pagination
Je suis en train d'utiliser sencha touch listpaging plugin. Mais il n'y a presque pas de bonnes( ou mauvaises ) de la documentation sur la façon de l'utiliser et je suis confus.
Quand j'active le plugin dans ma liste
this.myList = new Ext.List({
store: this.myStore,
plugins: [{
ptype: 'listpaging',
autoPaging: false
}],
itemTpl: '...'
});
un "Charger Plus" texte et un chargement de l'image est ajoutée à la fin de la liste.
Mais je ne sais pas comment configurer mon magasin pour activer ce plugin pour pouvoir charger plus de données.
App.regStore('MyStore', {
model: 'myModel',
proxy: {
type: 'ajax',
url: 'http://mydomain.com/json?howmany=10&page=1',
reader: {
type: 'json',
root: 'results'
}
}
});
App.stores.myStore = Ext.StoreMgr.get('MyStore');
Comment puis-je configurer mon magasin pour que quand j'appuie sur "Charger plus", le magasin ouvre la page 2 et les ajouter à la liste automatiquement?
OriginalL'auteur keune | 2011-09-06
Vous devez vous connecter pour publier un commentaire.
Je vais avoir des problèmes pour trouver de la bonne documentation, de trop, mais je peux au moins répondre à votre question. Vous devez ajouter
pageSize
de votre magasin,clearOnPageLoad
ainsi, si vous ne voulez pas effacer ce qui a déjà été chargé. Elle est mon code:});
Mes questions en suspens que je suis à la recherche sont:
Bonne chance!
l'article 3 de mes points en suspens était de la faute de mon code. J'avais un morceau de code qui permettrait de force en apportant à l'utilisateur de reprendre la tête de la liste lors de l'actualisation des données, de manière à éviter un autre rendu d'erreur avec sencha touch liste de composants. Le bug se manifeste lorsque les données le remplacement de la liste est moins que ce qui était là à l'origine, causant la liste de misrender.
Avez-vous été en mesure de trouver une solution à votre première question: "Comment désactiver le "Plus" de l'élément lorsqu'il n'y a plus de dossiers à charge"?
OriginalL'auteur John Gordon
J'ai eu un problème similaire avec le ListPaging plugin dans SenchaTouch 2, et a réussi à se sortir de la "charger plus" message du comportement lors de la fin de l'ensemble de données est atteint.
Cela s'appuie sur ce que John Gordon a (concernant la spécification de la
pageSize
etclearOnPageLoad
les options de configuration), puisque ces propriétés semblent être les mêmes dans Senchatouch 2. Je n'ai pas regardé SenchaTouch 1.x dans le détail. Dans SenchaTouch 2, toutes les options de configuration doit être défini dans unconfig
propriété:Dans la vue, où l'on précise les plugins, nous pouvons remplacer la "charger plus" et " plus aucun enregistrement de messages:
Le problème est que, bien que notre service web renvoie un tableau d'enregistrements pour une page en particulier, il n'existe pas d'ensemble nombre total de propriété, ce qui est nécessaire pour le plugin pour déterminer quand tous les enregistrements ont été chargés. Donc comme il est, le "Charger plus" message restera (question n ° 1 dans la solution retenue). Ainsi, dans le
init
fonction de notre commande, nous devons associer un gestionnaire d'événement pour laload
événement sur le magasin de crochet à quand une nouvelle page de données est reçu:Dans le gestionnaire, nous nous rendons compte que nous avons atteint la fin de la série de données lorsque le nombre d'enregistrements retournés est inférieure à la taille de la page. Si le total record de nombre est un multiple de la taille de la page, la dernière page " aura un tableau vide. Une fois à la fin de la série de données a été identifié, nous mettons à jour le
totalCount
config propriété de la boutique:Parce que c'est un "avant" gestionnaire d'événement, cette propriété sera essentiellement mis à jour avant que le plugin décide d'afficher le "charger plus" ou " plus aucun enregistrement de messages. Malheureusement, le cadre ne fournit pas un moyen de cacher les 'dossiers' message, si cela devait être fait via CSS.
Espère que cette aide.
Vous êtes les bienvenus 🙂 je n'ai pas trouvé un moyen simple de désactiver ce bouton, principalement parce que SenchaTouch seulement fournit les moyens de définir le texte de ce bouton dans l'état (qui est appliquée par l'intermédiaire d'un XTemplate dans le "privé"
loadTpl
config de la propriété). Vous pourriez être en mesure de travailler un peu de magie pour intercepter le appuyez sur un événement de ce bouton et renvoie la valeur false (ce qui annule l'événement), ou d'utiliser un funky sélecteur CSS pour masquer le bouton 'enregistrements' état. Vous pouvez voir le fonctionnement interne de la façon dont Sencha n'est docs.sencha.comOublié de vous dire que vous pouvez passer la souris sur le vert de la tête (c'est à dire le nom de la classe) afin de révéler la "Vue de la source..." lien pour la classe. J'ai trouvé cela très utile pour comprendre certains des détails supplémentaires que la documentation ne mentionne pas.
Salut @d_mcg je vais avoir le même problème, pourriez-vous s'il vous plaît jeter un oeil à ce post ? stackoverflow.com/questions/29079669/...
OriginalL'auteur d_mcg
Rappelez-vous aussi que cela fonctionne uniquement côté serveur actuellement.
Fil de discussion du Forum http://www.sencha.com/forum/showthread.php?105193-Store-pageSize
OriginalL'auteur ericbowden
En ce qui concerne la "charge de plus contre pas plus de dossiers" message -
Si vous écrivez un proxy personnalisé (exemple ici Un Sencha Touch MVC de l'application avec PhoneGap), vous définissez le nombre total d'enregistrements dans le retour de l'Opération.
Si le nombre total d'enregistrements ne sont pas encore connues, vous pouvez faire quelque chose comme ci-dessous, où,
1) si vous êtes de retour à la demande de la limite de dossiers, définir le total à quelque chose de plus grand que les enregistrements le magasin va maintenant
2) en cas de retour de < la demande de limite de dossiers, définir le total à 1 (à force de le "plus aucun enregistrement de message")
OriginalL'auteur Matt
Juste pour ajouter que ce qui a fonctionné pour moi..
Si votre serveur renvoie un totalCount et vous voulez en faire, vous pouvez utiliser le totalProperty dans le lecteur
OriginalL'auteur MinaHany