sorting - 如何在查询 Flutter 按属性中按名称比较对象
问题描述
我在我的应用程序中添加了一个搜索栏,并尝试通过属性名称查询对象,但无法使其正常工作。
编辑 1) 未来功能:
Widget _buildDiner() {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
FutureBuilder(
future: _setDiner,
builder: (context, AsyncSnapshot snapshot) {
var diner = snapshot.data;
if (snapshot.data == null) {
return Center(child: CircularProgressIndicator());
} else {
var sponsoredDiner = diner
.where((e) => e.sponsored == 'Yes')
.toList();
return Column(
children: <Widget>[
_makeDiner(sponsoredDiner),
_buildCoupon(),
_buildVendors()
],
);
}
})
]));
}
食客=
class Diners {
String keyword;
int id;
String name;
String sponsored;
Diners({
this.keyword,
this.id,
this.name,
this.sponsored
});
factory Diners.fromJson(Map<String, dynamic> parsedJson) {
return Diners(
keyword: parsedJson['keyword'] as String,
id: parsedJson['id'],
name: parsedJson['name'] as String,
sponsored: parsedJson['sponsored'] as String
);
}
}
我正在比较 Diners 的两个实例(赞助和用餐者)
我使用此查询来尝试比较放入搜索栏中的文本:
final suggestionList = query.isEmpty
? sponsored
: diners
.where((p) => p.name.startsWith(query)).toList();
但我收到了这个错误
“类型'(动态)=>动态'不是'测试'类型'(晚餐)=>布尔'的子类型
我不知道为什么
解决方案
推荐阅读
- jmeter - JMeter 计时器在请求返回后启动吗?如果不是,那在文档中的什么位置?
- tensorflow - Tensorflow + Bazel 保存配置以在另一台机器上编译
- c++ - Bison 错误恢复(恐慌模式)不起作用?
- c - ncurses,如何摆脱顽固的性格?
- python - 计算具有多个值的键的平均值
- oracle - Oracle 客户端设置在没有完成且没有错误消息的情况下停止
- c# - 试图读取 JSON 但有些东西不起作用
- android - 拆分并绘制大视图android
- css - 根据浏览器窗口的纵横比更改的元素属性
- python - 使用 Boto3 列出所有“活动”EMR 集群