相关疑难解决方法(0)

如何在flutter中使用foreach方法

这是我的提交函数,一切都很好,但 _imagesAssets.forEach 未运行,并且 _images 列表将为空。任何想法都会很棒

if (_formKey.currentState.validate()) {
      _images.clear();
      _imagesAssets.forEach((element) async {
        _images.add(await getImageFileFromAssets(element));
      });
      PersianDateTime persianDate1 =
          PersianDateTime(jalaaliDateTime: dateTextController.text);
      persianDate1.toGregorian();

      _preferences = await SharedPreferences.getInstance();
      String _apiToken = _preferences.getString('apiToken');

      TransactionAddDto transactionAddDto = new TransactionAddDto(
        isCharity: _isCharity,
        payDate: persianDate1.datetime.toString().replaceFirst(" ", "T"),
        imageArray: _images,
        apiToken: _apiToken,
        userId: _selectedUser,
        payVal: _transactionVal.toDouble(),
      );
      _transactionBloc.add(
        new AddTransactionEvent(transactionAddDto),
      );
    }
Run Code Online (Sandbox Code Playgroud)

foreach dart flutter

6
推荐指数
1
解决办法
1万
查看次数

如何在 flutter 中将多个图像上传到 firebase 并获取它们的所有下载网址

这是我的上传功能。我想要的输出是所有网址的列表,但它返回一个空列表。我尝试了不同的建议解决方案,但都失败了。

Future<List<String>> uploadFiles(List _images) async {
  List<String> imagesUrls=[];

   _images.forEach((_image) async{
    StorageReference storageReference = FirebaseStorage.instance
        .ref()
        .child('posts/${_image.path}');
    StorageUploadTask uploadTask = storageReference.putFile(_image);
    await uploadTask.onComplete;

     imagesUrls.add(await storageReference.getDownloadURL());
     
  });
print(imagesUrls);
return imagesUrls;
}
Run Code Online (Sandbox Code Playgroud)

dart firebase flutter firebase-storage

4
推荐指数
1
解决办法
1万
查看次数

forEach 与 for in:调用方法时的不同行为

我注意到了这一点,forEachfor in产生了不同的行为。我有一个列表,RegExp并希望hasMatch在每个列表上运行。使用 遍历列表时forEachhasMatch永远不会返回 true。但是,如果我使用for in,则hasMatch返回 true。

示例代码:

class Foo {
  final str = "Hello";
  final regexes = [new RegExp(r"(\w+)")];

  String a() {
    regexes.forEach((RegExp reg) {
      if (reg.hasMatch(str)) {
        return 'match';
      }
    });
    return 'no match';
  }

  String b() {
    for (RegExp reg in regexes) {
      if (reg.hasMatch(str)) {
        return 'match';
      }
    }
    return 'no match';
  }
}

void main() {
  Foo foo = new …
Run Code Online (Sandbox Code Playgroud)

dart

1
推荐指数
1
解决办法
321
查看次数

标签 统计

dart ×3

flutter ×2

firebase ×1

firebase-storage ×1

foreach ×1