小编jau*_*r_k的帖子

交换列表中的元素

我有一个包含 2 个具有随机颜色容器的元素的列表。我想交换第一个和第二个元素。代码是

tiles.insert(1, tiles.removeAt(0));
Run Code Online (Sandbox Code Playgroud)

它工作正常,一直在相互交换颜色,但我不知道那里发生了什么。有人可以解释一下发生了什么事吗?

完整代码:(从https://medium.com/flutter/keys-what-are-they-good-for-13cb51742e7d获得)

void main() => runApp(new MaterialApp(home: PositionedTiles()));

class PositionedTiles extends StatefulWidget {
 @override
 State<StatefulWidget> createState() => PositionedTilesState();
}

class PositionedTilesState extends State<PositionedTiles> {
 List<Widget> tiles = [
   StatelessColorfulTile(),
   StatelessColorfulTile(),
 ];

 @override
 Widget build(BuildContext context) {
   return Scaffold(
     body: Row(children: tiles),
     floatingActionButton: FloatingActionButton(
         child: Icon(Icons.sentiment_very_satisfied), onPressed: swapTiles),
   );
 }

 swapTiles() {
   setState(() {
     tiles.insert(1, tiles.removeAt(0));
   });
 }
}

class StatelessColorfulTile extends StatelessWidget {
 Color myColor = UniqueColorGenerator.getColor();
 @override
 Widget build(BuildContext context) {
   return …
Run Code Online (Sandbox Code Playgroud)

dart flutter

9
推荐指数
2
解决办法
8344
查看次数

标签 统计

dart ×1

flutter ×1