我正在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>空白。
编辑
最小示例,包括有关如何运行的说明和结果的屏幕截图: