- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ReorderableListView
应该填充自定义小部件,但是即使在自定义无状态小部件类和构造函数中传递了键,我也会收到以下错误:
All children of this widget must have a key. 'package:flutter/src/material/reorderable_list.dart': Failed assertion: line 71 pos 10: 'children.every((Widget w) => w.key != null)'
这是 Dart 代码:
class CustomWidget extends StatelessWidget{
String CustomWidgetString;
String WidgetKey;
CustomWidget({this.CustomWidgetString, this.WidgetKey});
Widget _widget(){
return Text(
CustomWidgetString,
key: Key(WidgetKey),
);
}
@override
Widget build(BuildContext context){
return _widget();
}
}
class AppState extends State<App>{
@override
Widget build(BuildContext context){
return Scaffold(
appBar: AppBar(
title: Text("Reorderable List"),
),
body: ReorderableListView(
scrollDirection: Axis.vertical,
children: <Widget>[
CustomWidget(
CustomWidgetString: "Custom Widget",
WidgetKey: "value",
)
],
onReorder: (a, b){
},
),
);
}
}
使用 flutter 中可用的小部件,不要抛出任何错误。你能帮忙吗?
最佳答案
您应该使用 ValueKey
而不仅仅是 Key
。确保 ValueKey
保存值。使用 key 调用 super
也非常重要,这样它就知道 key 是什么。
class CustomWidget extends StatelessWidget{
final String customWidgetString;
final Key key;
const CustomWidget({this.key, this.customWidgetString}) : super(key: key);
Widget _widget(){
return Text(
customWidgetString,
key: key,
);
}
@override
Widget build(BuildContext context){
return _widget();
}
}
class AppState extends State<App>{
@override
Widget build(BuildContext context){
return Scaffold(
appBar: AppBar(
title: Text("Reorderable List"),
),
body: ReorderableListView(
scrollDirection: Axis.vertical,
children: <Widget>[
CustomWidget(
key: ValueKey("Custom Widget"),
customWidgetString: "Custom Widget",
)
],
onReorder: (a, b){
},
),
);
}
}
更多阅读:
https://medium.com/flutter/keys-what-are-they-good-for-13cb51742e7d
All children of this widget must have a key in Reorderable Listview
并观看:
关于flutter - ReorderableListView 不识别自定义小部件中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59444423/
我有一个 ReorderableListView 应该填充自定义小部件,但是即使在自定义无状态小部件类和构造函数中传递了键,我也会收到以下错误: All children of this widget
我尝试使用 ReorderableListView内SingleChildScrollView ,但我收到一个错误: I/flutter ( 9049): ══╡ EXCEPTION CAUGHT B
任何人都可以展示如何制作这个吗? 最佳答案 您可以使用此代码。 class _HomePageState extends State { List _list = List.generate(5,
我有一个使用 ReorderableListView 的应用程序,但我有一个包含它自己的 ListView 的项目,当我拖动它时,它的高度会增长到屏幕高度。转换完成后,项目将返回到其原始大小。未拖动时
我需要将我的可重新排序列表放在 SingleChildScrollView 中,但 ReorderableListView() 没有像 ListView() 那样的收缩包装。是否有解决方法可以在不使用
尝试使用 制作包含页眉和页脚的 ui可重新排列的内容 项目。有一个属性叫 标题我们可以从中添加标题项。但是如果我想添加怎么办页脚项目也是如此。 import 'package:flutter/mate
我正在尝试使用动态数据在抖动中创建一个 ReorderableListView。列表底部的额外间距。任何帮助,将不胜感激。 class _MyHomePageState extends State {
我想要屏幕顶部的 SliverAppBar 和 ReorderableListView 下方的 SliverFillRemaining。 我尝试了多种解决方案,但每一种都不断出现不同的错误。将 Reo
我尝试使用 ReorderableListView 小部件创建一个在 Flutter 中可重新排序的列表: return ReorderableListView( onReorder: (in
我需要帮助了解如何使用此小部件。现在我可以让元素可以拖动,但它们不会留在新位置。我确定这是因为我错误地使用了 onReorder,但我找不到关于如何使用的解释。我不明白或不知道它的作用,我只是不断尝试
所以我看到了ReorderableListView demo并看到他们有 “次要:const Icon(Icons.drag_handle)” 但是看着 reorderable_list.dart文件
我是一名优秀的程序员,十分优秀!