【问题标题】:How to introduce additional fields with default values in AEM Touch UI dialogs?如何在 AEM Touch UI 对话框中引入具有默认值的附加字段?
【发布时间】:2020-02-20 12:24:38
【问题描述】:

情况:

我们有一个 AEM 6.4 Touch UI 对话框和许多通过该对话框创建的现有组件实例。

现在我们要在对话框中添加一个额外的布尔属性(复选框)。

新属性的默认值应该是true/checked。

预期结果:

当编辑器打开现有组件的更新对话框时,我希望对话框显示新的复选框 checked 因为这是 默认 并且 JCR 不包含现有组件的价值。

实际结果:

对话框显示复选框未选中,用于在 JCR 中没有此属性值的现有组件。

令人惊讶的是,对话框显示了一个新创建的组件的复选框已选中

有什么想法吗?谢谢。

下面.content.xml 文件中的复选框片段。

<newProperty
  jcr:primaryType="nt:unstructured"
  sling:resourceType="granite/ui/components/coral/foundation/form/checkbox"
  checked="{Boolean}true"
  name="./newProperty"
  text="The recently added new property"
  uncheckedValue="{Boolean}false"
  value="{Boolean}true"
/>

【问题讨论】:

  • 您需要添加一个监听器并启用必要的复选框
  • 谢谢,但为什么会这样?这是错误还是预期行为?当 AEM 应用默认值和不应用默认值时,我在文档中找不到任何提示,所以我的假设是,当 JCR 中的值为“空”时它总是会这样做,但这似乎是错误的。

标签: adobe aem aem-touch-ui


【解决方案1】:

这肯定需要 JS 验证,因为没有该值对对话框来说是虚假的。

【讨论】:

  • 谢谢,但为什么会这样?这是错误还是预期行为?当 AEM 应用默认值和不应用默认值时,我在文档中找不到任何提示,所以我的假设是,当 JCR 中的值为“空”时它总是会这样做,但这似乎是错误的。
【解决方案2】:

您的示例应该始终有效,不需要额外的 js 或属性。当您说此属性没有现有的“价值”时,您的意思是该属性不存在还是为空?因为空属性仍然有一个值,在这种情况下是一个空字符串,导致它被读取为 false 并且复选框为空。新组件没有此属性,导致显示默认值。如果这不能按设计工作,您是否可以通过添加组件的所有当前属性来扩展您的示例?

【讨论】:

    【解决方案3】:

    @John Goofy - 你只需要添加下面的属性

    'ignoreData={Boolean}true'

    那么,你的节点就变成了

    <newProperty
      jcr:primaryType="nt:unstructured"
      sling:resourceType="granite/ui/components/coral/foundation/form/checkbox"
      checked="{Boolean}true"
      name="./newProperty"
      text="The recently added new property"
      uncheckedValue="{Boolean}false"
      value="{Boolean}true"
      ignoreData="{Boolean}true"
    />
    

    如果对你不起作用,请告诉我。

    【讨论】:

    • 根据documentation,这将始终忽略 JCR 并始终根据默认值选中/取消选中复选框。我需要一些不同的东西:只有当 JCR 中没有保存值 时,复选框才应该使用默认值;如果 JCR 中有值,则复选框应使用该值。
    • @JohnGoofy - 你能试试 ignoreData="{Boolean}false" 吗?我测试过,默认情况下它采用“默认值”,一旦您保存/创作值,它就会获取该值。它应该工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    相关资源
    最近更新 更多