我想在开关打开时设置“完成”图标,在开关关闭时设置“关闭”图标。
这是一个示例图片:
我正在寻找与图片中所示相同的切换开关,在那个圆形中,当我滑动它时需要打勾,当我滑动它时需要十字标记。
我该怎么做?
答案 0 :(得分:1)
使用 onPress() 函数在按钮被按下时切换布尔变量。调用 setState()。然后根据变量保存的值,更改从 return 语句返回的小部件。
你需要的是条件渲染
您可以查找此内容并在 google 和 SO 上找到几篇帖子。
答案 1 :(得分:1)
您可以尝试在 add_patch
语句中使用 boolean
值。
首先声明一个 switch
boolean
然后,使用 var isOn = True;
运算符有条件地呈现开/关图标小部件。您还需要在按下按钮/图标时使用 ternary
切换布尔值。
setState
或者,如果您想将它与 InkWell(
onTap: () => setState(() => isOn = !isOn),
child: isOn ? SwitchOnIconWidget() : SwitchOffIconWidget(),
)
一起使用,那么您也可以这样做:
onPressed