我必須在位置使用索引,但是當我使用 listView.builder 時,我收到了這個錯誤:
ParentDataWidget 的使用不正確。
ParentDataWidget Positioned(left: 157.2) 想要將 StackParentData 型別的 ParentData 應用到 RenderObject,該 RenderObject 已設定為接受 FlexParentData 型別不兼容的 ParentData。
通常,這意味著 Positioned 小部件具有錯誤的祖先 RenderObjectWidget。通常,定位小部件直接放置在堆疊小部件中。有問題的 Positioned 當前放置在 Row 小部件內。
應用程式崩潰了。
我使用stack-> listview.bulder(用于索引)->position
但正確的是stack->position
我必須在位置使用索引。那么誰能幫助我我該怎么做呢?
例如 myList 是:
myList = [{"data" : 100.0},{"data" : 200.0 },{"data" : 300.0 }, {"data" :400.0 },{"data" : 500.0} ]
這是我的代碼:
Stack(
alignment: AlignmentDirectional.topStart,
children: [
Positioned(
left: (myList[index]["data"]),
child: Directionality(
textDirection: TextDirection.ltr,
child: MySimpleIcons(
iconName: MyIcons.bookProfile,
iconColor: theme.darkGrey,
iconSize: 24,
),
),
// another widgets
) ],
uj5u.com熱心網友回復:
您可以使用 .map & spread 運算子來完成這種情況。您可以嘗試以下代碼:
Stack(
alignment: AlignmentDirectional.topStart,
children: [
...myList.map((position) => Positioned(
left: position,
child: Directionality(
textDirection: TextDirection.ltr,
child: MySimpleIcons(
iconName: MyIcons.bookProfile,
iconColor: theme.darkGrey,
iconSize: 24,
),
),
)
// another widgets
)
],
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494749.html
