UI 元素的 Apache Isis 条件渲染

Apache Isis Conditional Rendering of UI elements

我是 Apache Isis 的新手,但很想知道一件事。我的工作很大程度上依赖于填写表单,但表单应该能够处理 UI 元素的条件渲染。例如,一个表单可以问问题 'how old are you?',如果回答超过 18 岁,则以下问题为 'did you vote in the last election?',而如果回答低于 18 岁,则以下问题为 'are you working or studying?'。所以呈现的元素取决于之前回答的问题,这在 Apache Isis 中可能吗?

谢谢

简短的回答是否定的,不是特别容易。

如果您使用动作提示,那么您可以轻松地在多个字段(这些是动作的参数值)之间切换,但框架目前不支持基于前面的字段隐藏参数字段。我们对如何实现这个有一个想法,但它从来没有特别接近 "to-do" 列表的顶部。

或者,您可以使用视图模型来表示正在填写的表单。这里视图模型确实支持可选的字段隐藏 - 这次它们是视图模型的属性。但这里需要注意的是,每个 属性 都是从下一个开始单独输入的(类似于 JIRA 的工作方式);用户不能只浏览多个属性。

HTH