【问题标题】:How can I create a slider using Websharper?如何使用 Webshaper 创建滑块?
【发布时间】:2015-10-28 23:44:25
【问题描述】:

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

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

let btn caption action =
  Input [Attr.Type "button"; Attr.Value caption; Attr.Style "width: 30px"]
  |>! OnClick (fun e _ -> action ())

好像 Webshaper 不包含基本的 GUI 控件,所以你必须这样做才能获得它们(这似乎违背了使用 Websharper 之类的抽象的目的)。

我想要一个带有回调的滑块,只要它的值发生变化就会被调用。如何使用 Websharper 获得一份?

【问题讨论】:

    标签: f# websharper


    【解决方案1】:

    您可以使用 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 ]
        ] :> _
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2016-11-21
    • 2014-07-20
    • 2019-07-18
    相关资源
    最近更新 更多