F# 如何使用Websharper创建滑块?

F# 如何使用Websharper创建滑块?,f#,websharper,F#,Websharper,我只是在学习Websharper,所以我还是很困惑 在Intellifactory示例网页上,计算器示例的代码似乎使用了按钮,好像Webshaper提供了一些GUI控件,但安装在磁盘上的代码使用其自己的助手功能创建了如下按钮: let btn caption action = Input [Attr.Type "button"; Attr.Value caption; Attr.Style "width: 30px"] |>! OnClick (fun e _ -> acti

我只是在学习Websharper,所以我还是很困惑

在Intellifactory示例网页上,计算器示例的代码似乎使用了
按钮
,好像Webshaper提供了一些GUI控件,但安装在磁盘上的代码使用其自己的助手功能创建了如下按钮:

let btn caption action =
  Input [Attr.Type "button"; Attr.Value caption; Attr.Style "width: 30px"]
  |>! OnClick (fun e _ -> action ())
好像Webshaper不包含基本的GUI控件,所以您必须这样做才能获得它们(这似乎违背了使用Webshaper之类抽象的目的)


我想要一个带有回调的滑块,每当其值发生变化时就会调用它。如何使用Websharper获取一个?您可以使用JQueryUI中的滑块:

[<JavaScript>]
override this.Body = 
    let text = Span []
    let slider = Slider.New(SliderConfiguration(min = 0, max = 10, value = 5))
    // typed way to subscribe doesn't work, internally tries to bind handler to 'sliderslide' event
    // per documentation (http://api.jqueryui.com/slider/#event-slide) should be 'slide'
    // slider.OnSlide(fun _ -> text.Text <- string slider.Value ) 
    JQuery.JQuery.Of(slider.Widget).Bind("slide", Func<_, _, _>(fun _ _ -> text.Text <- string slider.Value )).Ignore
    Div [
        Div [ slider ]
        Div [ text ]
    ] :> _
[]
重写此。正文=
让text=Span[]
让slider=slider.New(slider配置(最小值=0,最大值=10,值=5))
//类型化订阅方式不起作用,内部尝试将处理程序绑定到“sliderslide”事件
//根据文件(http://api.jqueryui.com/slider/#event-幻灯片)应为“幻灯片”
//滑块.OnSlide(乐趣->文本.text.text.text_

还有我们的库,它试图在JQuery UI代码中添加更多的键入。您可以从NuGet获得最新版本: