首页 > 解决方案 > 如何在反射中将输入值设置为当天?

问题描述

我正在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>空白。

编辑

最小示例,包括有关如何运行的说明和结果的屏幕截图:

https://github.com/rubenmoor/reflex-bug-pbtime

标签: haskellfrpreflexobelisk

解决方案



推荐阅读