我在multifield中有数据选择器。 但是在打开对话框时,不会显示创作的值。 当我在对话框字段上检查元素时,它变为
*<input class="coral-InputGroup-input coral-Textfield" type="text" value="">
<input type="hidden" name="./date" value="2016-06-01T00:00:00.000+05:30">*
您能否提出可能存在的问题以及解决方法?
<field
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/fieldset"
eaem-nested=""
fieldLabel="Click on the + button to add Fields"
name="./admission">
<layout
jcr:primaryType="nt:unstructured"
sling:resouceType="granite/ui/components/foundation/layouts/fixedcolumns"
method="absolute"/>
<items jcr:primaryType="nt:unstructured">
<column
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<items jcr:primaryType="nt:unstructured">
<date
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/datepicker"
fieldLabel="Date of Event"
name="./date"
type="date"/>
<startTime
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/datepicker"
fieldLabel="Opening time of event"
name="./startTime"
type="time"/>
<endTime
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/datepicker"
fieldLabel="Closing time of event"
name="./endTime"
type="time"/>
<dayname
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
fieldLabel="Dayname"
name="./dayname"/>
</items>
</column>
</items>
</field>
答案 0 :(得分:0)
首先,您在sling:resouceType="granite/ui/components/foundation/layouts/fixedcolumns"
中拼写错误。您实际上没有设置sling:resourceType
。
然而,还有一个更重要的问题。 Granite Multifield组件不能以这种方式工作。阅读granite/ui/components/foundation/form/multifield上的文档,我们可以确切地看到数据如何在后续对话框中保存和重新填充。
要包含的字段在名为field的子节点中定义。 无论使用何种组件,Multifield都假设他们都写入 相同的属性(由字段子节点的name属性定义) 因此,结果值将始终为多值。
渲染现有条目时,Multifield将迭代多值,获取每个值,在字段中设置它并让字段渲染它。
为了完成您要做的事情,您必须编写一些自定义代码。谷歌的快速搜索显示了这两篇可以帮助您的博客文章:
重申一下,如果您修正了拼写错误,则字段集和日期选择器将显示在您的多字段中。但是,即使对话框显示正确,您也无法以这种方式保存或检索数据。