I have graphQL query for my JSS
app as
{
search(fieldsEqual: [{name: "_fullpath", value: "/sitecore/content/abc"}]
, keyword: "") {
results {
items {
item {
... on Brand {
heading {
value
}
questionList {
value
}
}
}
}
}
}
}
Here "QuestionList"
is a list field for which I am getting output with Item ids separated by pipe
"|" as
"questionList": {
"value": "{79BADBCE-3824-4664-B74C-D5D931154E86}|{2D0FCE78-8377-4A1E-B47B-A3BDBB6D8D62}"
}
But instead of this items ids,
how to get multilist items details?
For this we must use "targetItems"
cluase as
{
search(fieldsEqual: [{name: "_fullpath", value: "/sitecore/content/abc"}
], keyword: "") {
results {
items {
item {
... on Brand {
heading {
value
}
questionList {
value
name
targetItems {
id
name
... on Question
{
questionstatement {value}
}
}
}
}
}
}
}
}
}
As you can observe here we can
use strongly type items "Question" inside of "targetItems".
Its output is
{
"data": {
"search": {
"results": {
"items": [
{
"item": {
"heading": {
"value": "This is
Heading"
},
"questionList": {
"value": "{79BADBCE-3824-4664-B74C-D5D931154E86}|{2D0FCE78-8377-4A1E-B47B-A3BDBB6D8D62}",
"name": "questionList",
"targetItems": [
{
"id": "79BADBCE38244664B74CD5D931154E86",
"name": "Question 1",
"questionstatement": {
"value": "Question 1"
}
},
{
"id": "2D0FCE7883774A1EB47BA3BDBB6D8D62",
"name": "Question 2",
"questionstatement": {
"value": "Question 2"
}
}
]
}
}
}
]
}
}
}
}
I hope this trick helps you to
write GraphQL queries in better way for Sitecore JSS app.