Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
MultiRecordResource
Une ressource orientée vers les tables de données (collections) : les requêtes renvoient un tableau et prennent en charge la pagination, le filtrage, le tri ainsi que les opérations CRUD (création, lecture, mise à jour, suppression). Elle est adaptée aux scénarios impliquant "plusieurs enregistrements" tels que les tableaux et les listes. Contrairement à APIResource, MultiRecordResource spécifie le nom de la ressource via setResourceName(), construit automatiquement des URL telles que users:list ou users:create, et intègre des capacités natives pour la pagination, le filtrage et la sélection de lignes.
Héritage : FlowResource → APIResource → BaseRecordResource → MultiRecordResource.
Mode de création : ctx.makeResource('MultiRecordResource') ou ctx.initResource('MultiRecordResource'). Avant toute utilisation, vous devez appeler setResourceName('nom_de_la_collection') (par exemple 'users') ; dans RunJS, ctx.api est injecté par l'environnement d'exécution.
Scénarios d'utilisation
Format des données
getData()renvoie un tableau d'enregistrements, correspondant au champdatade la réponse de l'API de liste.getMeta()renvoie les métadonnées de pagination et autres :page,pageSize,count,totalPage, etc.
Nom de la ressource et source de données
Paramètres de requête (Filtre / Champs / Tri)
Pagination
Lignes sélectionnées (Scénarios de tableau)
CRUD et opérations de liste
Configuration et événements
Exemples
Liste de base
Filtrage et tri
Chargement des associations
Création et pagination
Suppression groupée des lignes sélectionnées
Écouter l'événement refresh
Ressource associée (Sous-table)
Remarques
- setResourceName est obligatoire : Vous devez appeler
setResourceName('nom_de_la_collection')avant toute utilisation, sinon l'URL de la requête ne pourra pas être construite. - Ressources associées : Lorsque le nom de la ressource est au format
parent.enfant(ex:users.tags), vous devez d'abord appelersetSourceId(clé_primaire_parent). - Anti-rebond (Debouncing) du refresh : Plusieurs appels à
refresh()au sein de la même boucle d'événements n'exécuteront que le dernier appel pour éviter les requêtes redondantes. - getData renvoie un tableau : Les données renvoyées par l'API de liste sont un tableau d'enregistrements, et
getData()renvoie directement ce tableau.
Liens associés
- ctx.resource - L'instance de ressource dans le contexte actuel
- ctx.initResource() - Initialiser et lier à ctx.resource
- ctx.makeResource() - Créer une nouvelle instance de ressource sans liaison
- APIResource - Ressource API générale appelée par URL
- SingleRecordResource - Orientée vers un enregistrement unique

