Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振-位置参数太多_Flutter_Dart_Arguments - Fatal编程技术网

Flutter 颤振-位置参数太多

Flutter 颤振-位置参数太多,flutter,dart,arguments,Flutter,Dart,Arguments,我想将文档和用户对象传递到一个对话框中,该对话框编码在一个单独的文档中,可以对该用户的文档执行操作 传递信息的代码是: Widget _buildFunctionCards(BuildContext context, DocumentSnapshot document, FirebaseUser user) { return ListTile( title: GestureDetector( onTap: () {

我想将文档用户对象传递到一个对话框中,该对话框编码在一个单独的文档中,可以对该用户的文档执行操作

传递信息的代码是:

 Widget _buildFunctionCards(BuildContext context, DocumentSnapshot document, FirebaseUser user) {
  return ListTile(
      title: GestureDetector( 
        onTap: () {
                      showDialog(
                        context: context,
                        builder: (_) => FunctionEditOptions(document, user),
                      );},
        child:Container... ()))}
接收文件的编码如下:

   class FunctionEditOptions extends StatefulWidget {
  FunctionEditOptions({this.db, this.user});
  final FirebaseUser user; 
  final DocumentSnapshot db;
  @override
  State<StatefulWidget> createState() => FunctionEditOptionsState();
}

class FunctionEditOptionsState extends State<FunctionEditOptions>
    with SingleTickerProviderStateMixin {
  AnimationController controller;
  Animation<double> scaleAnimation;

  @override
class FunctionEditOptions扩展StatefulWidget{
FunctionEditOptions({this.db,this.user});
最终FirebaseUser用户;
最终文件数据库;
@凌驾
State createState()=>FunctionEditOptions状态();
}
类函数EditOptions状态扩展状态
使用SingleTickerProviderStateMixin{
动画控制器;
动画缩放;
@凌驾
收到的错误消息是:“位置参数太多:应为0,但找到2。”

如果有人能提供我的见解,我将不胜感激!

改变这一点:

builder: (_) => FunctionEditOptions(document, user),
对此

builder: (_) => FunctionEditOptions(db: document, user: user), // or:
builder: (_) => FunctionEditOptions(user: user, db: document), // both ways are correct
当在括号内指定参数时,这些参数是可选的,并且可能不符合顺序。因此,在传递参数时必须命名参数

另一种方法是从括号中取出参数,并确保参数顺序正确

FunctionEditOptions(this.db, this.user);
这样说吧:

builder: (_) => FunctionEditOptions(document, user),
builder: (_) => FunctionEditOptions(document, user: user),
您可以将两者混合使用

FunctionEditOptions(this.db, {this.user});
这样说吧:

builder: (_) => FunctionEditOptions(document, user),
builder: (_) => FunctionEditOptions(document, user: user),