我想在Firebase中创建一个Map,并从那里获取滑块值。但它给出了一个错误。“类型'_Map<String,dynamic>'不是类型强制转换中类型'Map<Double,Double>'的子类型“
的数据
Expanded(
child: StreamBuilder<DocumentSnapshot>(
stream: FirebaseFirestore.instance
.collection("deger").doc("1")
.snapshots(),
builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
final Map<Double, Double> map = snapshot.data!["item"] as Map<Double, Double>;
return VerticalSlider(
min: parameters.minDecibels,
max: parameters.maxDecibels,
value: map as double,
onChanged: band.setGain,
);
}),
),
字符串
我找不到解决办法。
1条答案
按热度按时间c7rzv4ha1#
items
中的键不是一个数字。它们是像"item1"
,"item2"
等字符串。如果你只想解释其中的数字部分(例如
1
,2
等),你必须在代码中解析键。类似于:
字符串
因此,上面的代码首先从字符串中删除
"item"
前缀,然后将剩余的转换为数字。一个完整的例子我tested in DartPad:
型