2016-07-28 74 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