【发布时间】:2020-07-06 21:10:33
【问题描述】:
我设置了以下变量。 registerUser 是 graphQL api 调用。我希望 $name、$password、$premium 和 $email 是在按下按钮时确定的动态变量(注册)。这段代码都在一个有状态的小部件中。
String name;
String password = "";
bool premium = false;
String email = "dasa";
String registerUser = '''
mutation {
addUserManual(name:"$name",password:"$password",premium:$premium,email:"$email"){
userid
}
}
'''
然后我像这样为每个 graphql_flutter 插件定义一个突变。在 runmutation({.. 发送到服务器的突变是上面初始定义的变量的突变,它不发送最近的查询。有谁知道如何从字段中更新 vvalue,然后将其插入到查询中?.
child: Mutation(options: MutationOptions(
documentNode: gql(registerUser),
update: (Cache cache, QueryResult result) {
return cache;
},
// or do something with the result.data on completion
onCompleted: (dynamic resultData) {
print(resultData);
},
), builder: (RunMutation runMutation, QueryResult result){
return RaisedButton(
elevation: 5,
onPressed: () {
//FIX LATER
print(result.data);
runMutation({'name':"hi",'password':"test",'premium':false,'email':"blabla"});
},
child: Text('SIGN UP'),
color: Colors.white,
shape: RoundedRectangleBorder(borderRadius: new BorderRadius.circular(30.0)),
);
})
【问题讨论】:
标签: flutter graphql mobile-development