3

私はWebsharperを学んでいるだけなので、まだかなり混乱しています。

IntellifactoryサンプルWebページでは、電卓サンプルのコードはButtonWebshaperがいくつかのGUIコントロールを提供するかのように使用しているようですが、ディスクにインストールされたコードは独自のヘルパー関数を使用して次のようなボタンを作成します。

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

Webshaperに基本的なGUIコントロールが含まれていないかのように、それらを取得するにはこのようなことを行う必要があります(Websharperのような抽象化を使用する目的を無効にしているようです)。

値が変更されるたびに呼び出されるコールバックを備えたスライダーが必要です。Websharperを使用して入手するにはどうすればよいですか?

4

1 に答える 1

4

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 ]
    ] :> _
于 2012-11-12T02:15:29.827 に答える