如果我在某些Element
s上使用delete
函數,那麼如何重新創建它們(如同使它們再次出現)?如何在Threepenny GUI中重新創建一個元素?
我看了看周圍的例子和文檔,但我找不到任何功能,可以讓我這樣做,除了可能mkElement
這需要我通過它String
。但由於我正在與Element
s得到String
這將創建它會有點困難。
那麼有沒有辦法做到這一點?
如果我在某些Element
s上使用delete
函數,那麼如何重新創建它們(如同使它們再次出現)?如何在Threepenny GUI中重新創建一個元素?
我看了看周圍的例子和文檔,但我找不到任何功能,可以讓我這樣做,除了可能mkElement
這需要我通過它String
。但由於我正在與Element
s得到String
這將創建它會有點困難。
那麼有沒有辦法做到這一點?
鑑於delete
的簽名爲delete :: Element -> UI()
,因此當您撥打delete
時,手頭上會有一個Element
。爲什麼你不能堅持這個Element
某處? (我的意思是以任何方式保持對它的引用。)然後,只需使用(#+) :: UI Element -> [UI Element] -> UI Element
將它作爲孩子附加到其他元素。如果你只是想讓它重新出現在之前的地方,你只需要把它作爲一個孩子附加到它的父母開始的那個元素上。這是你想到的,還是我誤解了這個問題?
(圖書館這裏筆者)
其實,delete
功能並不僅僅是刪除DOM樹中的元素 - 它試圖刪除它的任何引用的JS和Haskell的一面。在delete
之後,基本上這個元素是(應該是)不可用的。
如果你想暫時隱藏的元素,你可以
display
屬性隱藏它。element parent # set children []
。哦,對,我沒有意識到它是這樣工作的。我會解決這個問題。雖然這樣寫入文檔會很好,因爲它沒有清楚地表明它們在'delete'之後不應該可用。 –
謝謝!我完全忘了嘗試將它作爲子元素再次展示給他們。這樣可行。 –