tripenny-gui: как получить текст?

С помощью 'set text' в Threepenny-gui вы можете, задав элемент и строку, установить текст этого элемента:

Prelude Graphics.UI.Threepenny.Core> :t set
set :: ReadWriteAttr x i o -> i -> UI x -> UI x
Prelude Graphics.UI.Threepenny.Core> :t set text
set text :: String -> UI Element -> UI Element

Наличие функций get заставляет меня думать, что можно получить текст с заданным элементом.

Prelude Graphics.UI.Threepenny.Core> :t get
get :: ReadWriteAttr x i o -> x -> UI o
Prelude Graphics.UI.Threepenny.Core> :t text
text :: WriteAttr Element String
Prelude Graphics.UI.Threepenny.Core> :t get text
get text :: Element -> UI ()

Тем не менее, возвращаемый тип "получить текст" не то, что я ожидаю. Как восстановить исходную строку из элемента?

1 ответ

Если я правильно помню, проблема в том, что текстовое значение элемента включает все его подэлементы в виде HTML-кода. Я рекомендую использовать value вместо этого, который работает для полей ввода.

ReadAttr а также WriteAttr реализуются с точки зрения ReadWriteAttr чтобы избежать перегрузки. Как показывают типы, get не делает ничего полезного для WriteAttr а также set не делает ничего полезного для ReadAttr, хоть.

Другие вопросы по тегам