delete
の機能をElement
に使用すると、どうすれば再作成できますか?Threepenny GUIで要素を再作成する方法は?
私は例とドキュメントを見てきましたが、を除いて私がこれを行うことを可能にする関数を見つけることができませんでした。それにはString
が必要です。しかし、私はElement
と一緒に作業しているので、それは少し難しいでしょうString
を作成しています。
これを実行する方法はありますか?
delete
の機能をElement
に使用すると、どうすれば再作成できますか?Threepenny GUIで要素を再作成する方法は?
私は例とドキュメントを見てきましたが、を除いて私がこれを行うことを可能にする関数を見つけることができませんでした。それにはString
が必要です。しかし、私はElement
と一緒に作業しているので、それは少し難しいでしょうString
を作成しています。
これを実行する方法はありますか?
delete
の署名がdelete :: Element -> UI()
であるとすれば、delete
を呼び出すとが表示されます。なぜあなたはこのElement
をどこかで保持できませんか? (これは、いくつかの方法でリファレンスを保持していることを意味します)。次に、(#+) :: UI Element -> [UI Element] -> UI Element
を使用して、子として後で別のエレメントにアタッチしてください。それが以前の場所に再び現れたければ、それを最初に親であった要素に子供のように付けてください。これはあなたが念頭に置いたことですか、それとも私はその質問を誤解しましたか?
(ここではライブラリの作者)
は実際に、delete
機能だけでDOMツリーから要素を削除するだけではありません - それは、JSとHaskellの側にそれへの参照を削除しようとします。基本的に、要素はdelete
の後では使用できません。
あなたは一時的要素を非表示にしたい場合は、
display
プロパティを経由して、それを隠すことができます。element parent # set children []
。ああ、私はそれがそのように働いたことを認識していませんでした。私はそれを修正します。しかし、 'delete'の後には使えないようにするべきではないことを明確にしていないので、ドキュメントに入れるのは良いでしょう。 –
ありがとうございました!私はそれを子要素として再表示することを完全に忘れてしまった。それは動作します。 –