如何使用选择字段动态更改对话框

Posted

技术标签:

【中文标题】如何使用选择字段动态更改对话框【英文标题】:How to dynamically change dialog with select field 【发布时间】:2017-10-16 19:14:29 【问题描述】:

我是 Magnolia 的新手,我正在制作自己的模块。 添加组件时出现一个对话框,我想使用选择字段动态更改下面的下一个字段。

例子:

使用 "type 1", "type 2", ... 选择字段

如果选择“类型 1”

->在下方显示一个文本字段

否则

->在下面显示一个基本上传字段

提前致谢。

【问题讨论】:

【参考方案1】:

如果您查看标记为“magnolia”的问题,我相信 here 和其他一些地方已经讨论过同样的问题。

长话短说,字段是原子的、独立的实体。他们彼此不了解。因此,创建这种动态连接的唯一方法是通过“父”形式。您需要扩展表单演示者和字段工厂(如果您想选择 SelectFieldFactory)并在那里,当字段创建时,附加值更改或类似的侦听器,以便在字段中更改值时,您可以通知演示者使其他字段可见或隐藏。

IIRC 您可以在外部表单模块中看到该示例(如果您可以访问企业代码)。不确定是否有任何社区模块显示相同。

【讨论】:

感谢@Jan 的帮助,就像我说的,我是这个 Magnolia 世界的新手。我正在使用带有 Blossom 模块的 Magnolia CE。目前这是我正在尝试做的:`tab.fields(cfg.fields.switchable("message").options(ob.label("opt1").value("test1").selected() , ob.label("opt2").value("test2") ).fields( cfg.fields.text("test1").label("text").rows(5), cfg.fields.richText(" test2").label("rich") ).label("Message") )`

以上是关于如何使用选择字段动态更改对话框的主要内容,如果未能解决你的问题,请参考以下文章

如何动态更改没有 ID 的 MENU 文本

动态更改字段的欧芹规则

如果未填充所有字段,如何选择字段集、展开以及更改类?

如何动态更改 AlertDialog 的布局和字段

如何使用ajax以编程方式在嵌套模式对话框中更改引导选择2中的默认选择选项?

对话框中的材料 UI 更改日期字段样式