私はフラッターに不慣れで、List<Map<String, dynamic>>
名前、金額、日付の値を含むデータのセットを持っています。
例えば
[{名前:製品1、金額:24.5、日付:2019-07-07 22:21:57}]
[{名前:製品2、金額:29.5、日付:2019-07-07 22:21:57}]
リストをリストビュービルダーに渡しますが、リストを渡す前に、リスト内の日付を現在の日付で検証する必要があります。以下の私のコードを見つけてください:
import 'package:flutter/material.dart';
import 'package:learning_app/product.dart';
class BuildProduct extends StatelessWidget {
final List<Map<String, dynamic>> products;
final Function updateProduct;
Tasks(this.products, this.updateProduct);
Widget _buildCard() {
DateTime _currentDate = DateTime.now();
Widget ProductCard = Center(
child: Text('No Products added'),
);
if (products.length > 0) {
ProductCard = ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: products.length,
itemBuilder: (BuildContext context, int index) {
if(Need to compare the date in the products == currentDate) {
return ProductCard(products[index], index, updateProduct);
}
}
);
}
return ProductCard;
}
@override
Widget build(BuildContext context) {
return _buildCard();
}
}
リスト内の日付値を読み取り、各リストビューアイテムが作成される前に現在の日付と比較する必要があります。助けていただければ幸いです
次のいずれかを使用products[index]['date']
して、日付を取得し、日付を現在の日付と比較できます。
現在の日付が製品の日付より後かどうかを確認するには、次のようにします。 DateTime.now().isAfter(productDate)
または
現在の日付が製品の日付より前であるかどうかを確認するには、次を使用しますDateTime.now().isBefore(productDate)
。
例:
DateTime productDate = DateTime.parse(products[index]['date']);
print(DateTime.now().isAfter(productDate));
print(DateTime.now().isBefore(productDate));
幸運を!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加