如何解决如何使用 Flutter/Dart 中的枚举扩展输出我的对象属性?
extension ExtendedIterable<E> on Iterable<E> {
/// Like Iterable<T>.map but callback have index as second argument
Iterable<T> mapIndex<T>(T f(E e,int i)) {
var i = 0;
return this.map((e) => f(e,i++));
}
void forEachIndex(void f(E e,int i)) {
var i = 0;
this.forEach((e) => f(e,i++));
}
}
我正在将 textFields 中的用户数据保存到 Hive 框中。
当我执行以下操作时...
final Box = Hive.Box(personTable).values.toList();
final hiveBox = Hive.Box(personTable);
final indexingBox = Box.mapIndex((e,i) => 'item$e index$i');
final Person person = hiveBox.getAt(0);
print(person);
print(indexingBox);
我打印了以下内容:
Flutter: {John,Biggs,34,Active}
Flutter: (item{John,Active} index0,item{Kostas,Panger,76,Active} index1,item{Ben,Kenobi,78,Deactivated} index2,...,item{Luke,Skywalker,45,Active} index5,item{Darth,Vader,54,Active} index6)
我希望能够有选择地枚举每个对象的属性。
这是我希望能够打印的内容:
将类保存到 Hive 框中:
import 'package:hive/hive.dart';
part 'person.g.dart';
@HiveType(typeId: 0)
class Person {
@HiveField(0)
final String firstName;
@HiveField(1)
final String lastName;
@HiveField(2)
final String age;
@HiveField(3)
final String status;
Income({
this.firstName,this.lastName,this.age,this.status,});
@override
String toString() {
return '{${this.firstName},${this.lastName},${this.age},${this.status}}';
}
}
如果我不能一劳永逸地解决这个问题,我的脑袋可能会爆炸,这是使 DataTable 非常简单和动态加载的更大图景的一部分。感谢帮助!
解决方法
从您的列表中,您可以获取 firstName 并将其传递给函数:
如果您使用模型:
await message.author.send(`Here is an invite`)
message.member.kick('they kicked themself')
,
终于解决了!!!
box.forEachIndex((e,i) {
final hiveBox = Hive.box(personTable);
final person = hiveBox.getAt(i) as Person;
print('${person.firstName}');
});
控制台
flutter: John
flutter: Obi-wan
flutter: Luke
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。