如何使用选择字段动态更改对话框
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") )`以上是关于如何使用选择字段动态更改对话框的主要内容,如果未能解决你的问题,请参考以下文章