我有一个带有双字段的表,例如foo。当我捕获像5000万(50000000)这样的数字,然后我想查看我的数据时,我得到:5.0e7。当我再次编辑记录时,我还在文本字段上查看5.0e7。
我可以使用一个实用函数来解决"show“部分,比如:
-- Application/Helper/View.hs
module Application.Helper.View where
import Data.Text (unpack)
-- added format-numbers package as dependency on default.nix
import Data.Text.Format.Numbers
import IHP.ViewPrelude
-- Here you can add functions which are available in all your views
moneyConfiguration :: PrettyCfg
moneyConfiguration = PrettyCfg 2 (Just ',') '.'
showMoneyAmount :: Double -> String
showMoneyAmount d = unpack $ prettyF moneyConfiguration d然后我在Web/View/MyRecord/Show.hs上使用它作为:
...
<div class="col">{get #foo myRecord |> showMoneyAmount}</div>
...但是当呈现表单以进行创建/编辑时,我无法摆脱5.0e7值:
renderForm :: MyRecord -> Html
renderForm myRecord = formFor myRecord [hsx|
...
{(textField #foo)}
...
{submitButton}
|]我希望有这样的东西:{showMoneyAmount <$> (textField #foo)}
或者:{(textField #foo){formatValue = showMoneyAmount}}
有什么想法吗?
发布于 2021-09-29 07:31:27
在我听来像是个虫子。我刚给https://github.com/digitallyinduced/ihp/commit/6545122bf9129cdb53459c116817776f68bcc300推了个补丁
因此,这个问题应该在下一个IHP版本中得到解决
https://stackoverflow.com/questions/69306646
复制相似问题