flutter - 编写决策树的最佳方法是什么?(条件渲染/可见性/其他)
问题描述
我正在编写一个应用程序,它遵循决策树来确定一个人发现了什么昆虫。解决此问题的最佳方法是什么。底部的图像显示了我正在尝试遵循的那种树的简单示例。
当用户回答第一个问题时,我想在下面显示下一个问题,这将根据用户输入而有所不同。作为参考,我可能有一些问题不是简单的是/否答案,而是分成三个路径(即6条腿/8条腿/多条腿)
我不确定这在颤振中是如何实现的,就像我将 if 语句放入脚手架时一样:
if (input == "yes") {show widget1}
else if (input == "no") {render widget2}
“元素类型 'Map<dynamic, dynamic>' 不能分配给列表类型 'Widget'”
我认为我正在尝试做的事情涉及条件渲染,并且已经看到这可能通过“可见性”类实现,但它似乎仍然不是最好的解决方案。我将不胜感激任何建议或示例代码。
提前致谢。
解决方案
如果您可能的条目是二进制的(只有两个选项),您可以像这样使用三元:
input=='yes'?show widget1:show widget2;
只是你知道:三元执行以下代码?如果前面的条件为真,否则执行以下代码:
如果您需要渲染和采取非二元决策,您可以创建一个 map 方法或使用if(condition) show widget
(注意我没有使用花括号)
推荐阅读
- java - Android 错误“IF”和“ELSE”
- javascript - 如何使用 JavaScript 在我的数据中检测字符串数组和对象数组?
- python - IronPython 在沙箱中运行时“未定义名称'locals'”,但在我直接运行脚本时没有
- visual-studio-code - Visual Studio Code 窗口未出现
- c - 带有malloc的二维数组,函数调用分配
- javascript - 如何将查询到的 JSON 添加到页面?
- c# - 无法向我的第二个表单添加任何内容 [C#-MetroFrameWorkUI]
- graphviz - 是否可以在graphviz的边缘中间放置标签?
- css - 输入组边框在中间加倍
- android - Google Maps GeoJSON Utility 可以使用通过 geojson.io 设置的属性吗?