gpt4 book ai didi

list - 如何从数组中删除现有项目

转载 作者:IT王子 更新时间:2023-10-29 07:11:35 25 4
gpt4 key购买 nike

我的应用程序中有四个按钮。类似这样的东西

List<String> players = [
{'name': 'player 1'},
{'name': 'player 2'},
{'name': 'player 3'},
{'name': 'player 4'}
];

我正在遍历 map

return Row(
children: players
.map((player) => RaisedButton(
onPressed: () {selectPlayer(player)}
child: Text(player['name']),
))
.toList());

我的初始状态是这样的:

  void initState() {
super.initState();

_selectedPlayers = [];
}

selectPlayer() 看起来像这样:

  selectPlayer(player) {
if (_selectedPlayers.contains(player)) {
_selectedPlayers.remove(player);
} else {
_selectedPlayers.add(player);
}

List newSelectedPlayers = _selectedPlayers;
setState(() {
_selectedPlayers = newSelectedPlayers;
});
}

如果我删除 selectPlayer 中的 setStateprint(newSelectedPlayers)

这一切都相应地工作。但我需要知道播放器是否已添加/删除,因此这就是我更新状态的原因。

如果我执行 setState,那么,在 build 中,我尝试记录 _selectedPlayers,它们只是被添加,从未被删除,甚至尽管他们不应该……或者我遗漏了什么……

谢谢!

最佳答案

删除此 List<String> players = ['player 1', 'player 2', 'player 3', 'player 4'];从构建上下文中将它放在你的类名下面;

关于list - 如何从数组中删除现有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56224789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com