2015-12-10 3 views
6

में क्लाइंट को कुल गिनती कैसे पास करें I firstafter और lastbefore पेजिंग करने के लिए उपयोग करें। hasNextPage और hasPreviousPage बहुत उपयोगी हैं।पेजइन्फो

लेकिन मुझे जो चाहिए वह भी total count है ताकि मैं ग्राहक पर page 5 of 343 pages जैसी चीजों की गणना और दिखा सकूं।

दुर्भाग्य से यह pageInfo का हिस्सा नहीं है, भले ही मेरे पास सर्वर साइट पर जानकारी हो।

आप pageInfo में एक total क्षेत्र शामिल हैं और connectionFromArray विस्तार में कुल arrayLengthconnectionFromArraySlice की तरह पहले से ही करता है लेने के लिए कृपया कर सकते हैं?

धन्यवाद

उत्तर

11

pageInfo, विशेष पृष्ठ के बारे में जानकारी का प्रतिनिधित्व करने के लिए बनाया है, जबकि वस्तुओं की कुल संख्या वास्तव में कनेक्शन के ही एक संपत्ति है। हम कनेक्शन में count फ़ील्ड जोड़ने की सलाह देते हैं। उसे अपने साथ क्वेरी हो सकता है:

fragment on TodoList { 
    tasks(first: 10) { 
    count # <-- total number of tasks 
    edges { ... } 
    pageInfo { ... } 
} 

रिले एक कनेक्शन पर मनमाने ढंग से क्षेत्रों का समर्थन करता है, तो आप नाम के लिए इस count, totalCount, आदि

8

धन्यवाद @Joe सवोना

वह है के लिए स्वतंत्र हैं बिल्कुल सही। चूंकि यह मुझे एक पल कैसे वास्तव में सर्वर साइट पर कनेक्शन प्रॉपर्टी जोड़ना यह पता लगाने की ले लिया मैंने सोचा कि मैं कि यहाँ का हिस्सा के रूप में अच्छी तरह से:

var {connectionType: postsConnection} = connectionDefinitions({ 
    name: 'post', 
    nodeType: qlPost, 
    connectionFields:() => ({ 
    totalCount: { 
     type: GraphQLInt, 
     resolve: (connection) => connection.totalCount, 
     description: `A count of the total number of objects in this connection, ignoring pagination. 
This allows a client to fetch the first five objects by passing "5" as the 
argument to "first", then fetch the total count so it could display "5 of 83", 
for example.` 
    } 
    }) 
}); 

आशा है कि दूसरों को मदद मिलती है।

चीयर्स

+0

इसे पोस्ट करने के लिए धन्यवाद। कनेक्शन.totalCount को मान निर्दिष्ट करने के बारे में आप कैसे गए? मैंने अपनी परियोजना को थोड़ा अलग रखा है और मुझे – jackncoke

+0

http://stackoverflow.com/questions/38307845/relay-graphql-add-custom-field-to-connection मानने के लिए सही जगह खोजने में परेशानी हो रही है – jackncoke