如何在反射中将输入值设置为当天?
How to set input value to current day in reflex?
我正在使用 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”(Google Chrome)。
但是,尝试将 today
事件放入 <input>
中是行不通的。这是代码:
foo <- inputElement $ def & inputElementConfig_setValue .~ today
<input>
保持空白。
更奇怪:在我的实际代码中,<input>
通过 inputElementConfig_initialValue .~ "BAAAR"
有一个初始值,它也没有显示。然而创建的动态文本就像
dynText =<< holdDyn "" foo
确实会在一瞬间显示“BAAAR”。
为了平息任何偏执狂,我用一个简单的按钮测试了 inputElementConfig_setValue
,效果很好。 IE。我可以通过单击按钮来设置 <input>
的值。
所以 postBuildTime
事件有效,inputElementConfig_setValue
有效,但两者的组合使 <input>
留空。
编辑
最小示例,包括如何 运行 和结果截图的说明:
https://github.com/reflex-frp/reflex-dom/commit/93f0f4bd00e1dc871d193d7d53d5d7f2dbb518af
看起来这是一个错误,已在 reflex-dom
中修复。
我正在使用 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”(Google Chrome)。
但是,尝试将 today
事件放入 <input>
中是行不通的。这是代码:
foo <- inputElement $ def & inputElementConfig_setValue .~ today
<input>
保持空白。
更奇怪:在我的实际代码中,<input>
通过 inputElementConfig_initialValue .~ "BAAAR"
有一个初始值,它也没有显示。然而创建的动态文本就像
dynText =<< holdDyn "" foo
确实会在一瞬间显示“BAAAR”。
为了平息任何偏执狂,我用一个简单的按钮测试了 inputElementConfig_setValue
,效果很好。 IE。我可以通过单击按钮来设置 <input>
的值。
所以 postBuildTime
事件有效,inputElementConfig_setValue
有效,但两者的组合使 <input>
留空。
编辑
最小示例,包括如何 运行 和结果截图的说明:
https://github.com/reflex-frp/reflex-dom/commit/93f0f4bd00e1dc871d193d7d53d5d7f2dbb518af
看起来这是一个错误,已在 reflex-dom
中修复。