我正在reflex-platform
使用obelisk
. 这是我获取当前日期的前端代码
pb <- getPostBuild
postBuildTime <- performEvent $ pb $> liftIO getCurrentTime
let today = Text.pack . formatTime defaultTimeLocale "%F" <$> postBuildTime
我可以通过放置来确认这是否有效
dynText =<< holdDyn "loading" today
它甚至不会在一瞬间显示“正在加载”,而是在浏览器(谷歌浏览器)中显示“2021-03-26”。
但是,尝试将today
事件放入 an<input>
是行不通的。这是代码:
foo <- inputElement $ def & inputElementConfig_setValue .~ today
<input>
保持空白。
更奇怪的是:在我的实际代码中,<input>
通过的初始值inputElementConfig_initialValue .~ "BAAAR"
也没有显示。然而,创建的动态文本就像
dynText =<< holdDyn "" foo
确实显示“BAAAR”一瞬间。
为了平息任何偏执,我inputElementConfig_setValue
用一个简单的按钮进行了测试,效果很好。<input>
即我可以通过单击一个按钮来设置的值。
所以postBuildTime
事件的作品和inputElementConfig_setValue
作品,但两者的结合留下了<input>
空白。
编辑
最小示例,包括有关如何运行的说明和结果的屏幕截图: