I am trying put multiline support in one of the comment section of app and it is not accepting it.
the input which i put is
Hi
Hello
Hello
and it is showing this error
And this is the code i am writing for the inputfield
ListTile(
leading: CircleAvatar(
backgroundImage: AssetImage(UIData.pkImage),
),
title: Container(
constraints: BoxConstraints(
maxHeight: double.infinity,
minHeight: 20,
),
child: TextField(
keyboardType: TextInputType.multiline,
minLines: 1,//Normal textInputField will be displayed
maxLines: 10,// when user presses enter it will adapt to it
decoration: InputDecoration(
suffix: IconButton(
color: Colors.grey,
icon: Icon(Icons.send),
onPressed: () {
createComment();
},
),
hintText: 'Leave a Comment....',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(20.0),
borderSide: BorderSide(color: Colors.teal))),
controller: commentController,
),
),
),
The problem is with updating the graphQL query and initializing it with String block
String createComments(String postId, var text) {
return """
mutation{
createComment(postId: "$postId",
data:{
text: ""$text"",
}
){
_id
}
}
"""
;
}
I presume you are using flutter_graphql.
It is bad practice to generate mutation strings using interpolation. You should use graphql
variables for sending data with mutations (And, there is no problem in sending a multi-line string).
Sample:
String createComments(String postId, var text) {
const createCommentMutation = """
mutation createComment(\$postId: String, \$comment:String) {
createComment(postId: \$postId,
data:{
text: \$comment,
}
){
_id
}
}
""";
dynamic _resp = await _graphClient
.mutate(MutationOptions(
document: gql(createCommentMutation),
variables: {
'postId': postId, //Add your variables here
'comment':text
},
));
}
The type of \$postId
& \$comment
should be same as that of in your graphql schema. I have declared them as String
on the very first line.
You can find the documentation of the same here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With