2016-07-28 72 views
4

对于传统UI,可以为字段设置defaultValue,当用户在拖动组件后第一次打开对话框时向用户显示此选项。如果用户清除对话框中的值并保存,则在编辑对话框时,字段的值不再显示。触摸UI对话框中的defaultValue - AEM/CQ

对于触摸UI对话框,找不到相当于defaultValue。有以下选项

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

如果存在的defaultValue在触摸界面对话框或处理这个任何其他方式等效(可能是听众还是其他什么东西)

+1

在头锤仅仅'numberfield'提供属性'defaultValue'你可以看看花岗岩的文档在不同的HTTPS可用字段://文档。 adobe.com/docs/en/aem/6-1/ref/granite-ui/api/jcr_root/libs/granite/ui/components/foundation/form/numberfield/index.html –

+0

如果用户不完全保存对话?无论如何,价值应该存储在JCR中还是JCR属性应该是空的? –

+0

根据'defaultValue'行为,除非通过对话框保存,否则JCR中的值为空。我一直在寻找类似的替代Touch UI –

回答

6

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

_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"> 
+0

Checked'cq:template',只要我们拖动组件,属性值就保存在内容JCR结构中。这种作品虽然不完全类似于'defaultValue'。我们根据属性值进行了检查,在第一次拖动文本时显示作者“配置此组件”,因此需要以不同的方式应用检查,或者可以使用默认值不同,我们可以应用检查。 –

+0

这是如此晦涩难懂。我浪费了一半的时间试图弄清楚这一点。谢谢 – koga73