命名参数 'userId' 未定义

The named parameter 'userId' isn't defined

我正在尝试在用户 auth == true 时再次呼叫他。当用户按下时,他需要被称为同一个用户。有什么解决办法吗?

class upload extends StatefulWidget {
  String? userId;
  upload({Key? key, this.userId}) : super(key: key);

  @override
  State<upload> createState() => _uploadState();
}

class _uploadState extends State<upload> {
  File? file;
  String? downloadUrl;
//.......
//.......
//.......
 @override
  void initState() {
    super.initState();
    FirebaseFirestore.instance
        .collection("users")
        .doc(user!.uid)
        .get()
        .then((value) {
      this.loggedInUser = usermodel.fromMap(value.data());
      setState(() {});
    });
  }
//...........
//...........
onPressed: () => selectImage(context, userId: loggedInUser.uid),
~~~!

在您的 selectImage 函数中,如果您这样定义它:

selectImage(BuildContext context, String userId) {
//....etc

那么当你调用这个方法时,它应该是这样的:

onPressed: () => selectImage(context, loggedInUser.uid),

因为您使用的是位置参数,而不是命名参数。

如果要使用命名,将其更改为:

selectImage({required BuildContext context, required String userId}) {
//....etc
onPressed: () => selectImage(context: context, userId: loggedInUser.uid),