【问题标题】:defaultValue in Touch UI dialogs - AEM/CQTouch UI 对话框中的 defaultValue - AEM/CQ
【发布时间】:2016-07-28 15:12:01
【问题描述】:

对于经典 UI,有一个选项可以为字段设置defaultValue,当用户在拖动组件后第一次打开对话框时会显示给用户。如果用户清除对话框中的值并保存,在编辑对话框时,字段的值不会再次显示。

对于触摸 UI 对话框,找不到 defaultValue 的等效项。有以下选项

  1. emptyText - 但这是一种占位符文本。如果用户想保存表单而不输入值,这没有用。
  2. value - 这显示了首次打开组件进行创作时的值。但是如果用户清除该值并保存。从 JCR 结构中删除该值。但是如果用户打开对话框进行编辑,该值会再次显示在字段中,而这应该是空的。

如果在触摸 UI 对话框中存在 defaultValue 的等价物或任何其他处理此问题的方式(可能是侦听器或其他东西)

【问题讨论】:

  • 仅在 TouchUI 中 numberfield 提供属性 defaultValue 您可以在 docs.adobe.com/docs/en/aem/6-1/ref/granite-ui/api/jcr_root/libs/… 查看 Granite 文档以了解不同的可用字段
  • 如果用户根本不保存对话框会发生什么?该值应该存储在 JCR 中还是应该 JCR 属性为空?
  • 根据defaultValue 的行为,JCR 中的值是空的,除非通过对话框保存。我正在为 Touch UI 寻找类似的替代品

标签: aem


【解决方案1】:

而不是使用defaultValuevalue,我觉得你应该使用cq:template 节点。您可以通过在组件下添加具有cq:template 名称的nt:unstructured 类型的节点来实现此目的。像这样:

_cq_template/.content.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0"
    xmlns:jcr="http://www.jcp.org/jcr/1.0"
    xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
    jcr:primaryType="nt:unstructured"
    sampleProperty="Default value of sampe property">

【讨论】:

  • 勾选cq:template,只要我们拖动组件,属性值就会保存在内容JCR结构中。这种作品虽然与defaultValue 不完全相似。我们有基于属性值的检查,以在第一次拖动文本时显示作者“配置此组件”,因此需要以不同的方式应用检查,或者默认值可能需要不同,我们可以对其应用检查。
  • 这太晦涩难懂了。我浪费了半天的时间试图弄清楚这一点。谢谢
【解决方案2】:

我打算在design dialog 中设置一个select 字段,并使用dropdown 作为默认值,然后使用value="${cqDesign.type}" 在cq-dialog 中使用它

【讨论】:

    【解决方案3】:

    由于numberfield 在此讨论中也被提及。我在花岗岩 UI 中使用 value 而不是 defaultValue

    <numberOfResults
        jcr:primaryType="nt:unstructured"
        sling:resourceType="granite/ui/components/coral/foundation/form/numberfield"
        fieldLabel="Number Of Results"
        required="{Boolean}true"
        value="10"
        name="./numberOfResults"/>
    

    限制(来自提到的线程的sn-p):

    仅当 jcr:createdjcr:lastModified 日期对于内容中的组件节点相同时,value 属性值才会持续存在。这意味着一旦创建了组件,对话框值将从保存属性中获取。如果您希望保留默认值或授权值,请将此字段设为必填。这解决了总是填充它的问题。

    话题 详情请参考https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/defaultvalue-property-removed-in-coral-numberfield-in-aem-6-4/qaq-p/292673

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多