gpt4 book ai didi

f# - 使用 Fable-Elmish 上传文件

转载 作者:行者123 更新时间:2023-12-01 01:52:13 26 4
gpt4 key购买 nike

我想将文件上传到我的 Fable-Elmish, end 以便我可以将其发送到服务器进行处理。但是,我找不到任何文档/示例来涵盖这一点。这是我的更新功能:

let update msg model : Model * Cmd<Msg> =
match msg with
| QueryResults ->
{model with results = None}, Cmd.ofPromise getData "" FetchSuccess FetchFailure
| FetchSuccess data ->
{ model with results = Some data }, []
| FetchFailure ex ->
Browser.console.log (unbox ex.Message)
Browser.console.log "exception occured" |> ignore
model, []
| FileUploaded ->
Browser.console.log "file selected!" |> ignore
model, []

这是包含文件上传的 View 函数的一部分:
R.input [
Type "file"
OnChange (fun x -> FileUploaded |> ignore)
] []

据我所知,这应该会触发更新并打印出“文件已上传!”到控制台,但什么也没发生。

如果有人能在这里指出我正确的方向,那就太好了。

最佳答案

您正在通过 FileUploaded留言给 ignore ,正如它的名字所说的那样:忽略它的参数并且什么都不做。所以这个消息实际上不会去任何地方。

使用 Fable-Elmish,你的 View 函数接受一个名为 dispatch 的参数。 ,这是一个接收消息并将其放入消息队列的函数(以便 update 稍后会收到该消息)。看 the TodoMVC sample ,尤其是 onEnterviewModel功能,详情。

基本上,您的 OnChange (fun x -> FileUploaded |> ignore)行应该是 OnChange (fun x -> FileUploaded |> dispatch)反而。

关于f# - 使用 Fable-Elmish 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com