【发布时间】:2022-08-19 11:35:55
【问题描述】:
所以...我有一个切换按钮小部件 [1|2|3|4],但是如果选中了另一个小部件,我需要禁用其中一些按钮(例如,如果我连接到 Tile 而不是 Frob ,我需要禁用 2 和 4)。
标签: flutter
所以...我有一个切换按钮小部件 [1|2|3|4],但是如果选中了另一个小部件,我需要禁用其中一些按钮(例如,如果我连接到 Tile 而不是 Frob ,我需要禁用 2 和 4)。
标签: flutter
您可以使用可见性来隐藏或不隐藏您想要的小部件
【讨论】:
我发现最好的方法是使用基于某些输入参数返回 ToggleButtons 小部件的函数。因此,该函数返回 ToggleButton 小部件,无论您想要多少个切换按钮。如果你想要 3 个按钮,你可以传入一个包含 3 个布尔值的列表,获取该列表并构建只有 3 个按钮的 ToggleButtons 小部件......等等。和/或您可以有一个条件,根据某个参数构建不同的 ToggleButtons 小部件:
ToggleButtons toggleButtons(
{required StateSetter setState,
required List<bool> isSelected,
required String nameOfButtons}) {
if (nameOfButtons == "shortList") {
// return ToggleButtons widget that only has 3 Toggle Buttons
return ToggleButtons(...);
} else {
// return ToggleButtons widget that only has 2 Toggle Buttons
return ToggleButtons(...);
}});
可见性将简单地隐藏切换按钮的内容,但仍允许用户按下该按钮。此外,如果您的切换按钮上有轮廓,则内部将是空白的。
【讨论】: