使用jquery ui slider做出反应

时间:2015-10-23 12:28:23

标签: reactjs

我正在尝试将jquery ui滑块与react进行集成:

componentDidMount: ->
  $(React.findDOMNode(@refs.slider)).slider
    value: @props.value
    min: @props.min
    max: @props.max
    step: @props.step
    slide: @handleSlide

显示滑块和处理幻灯片回调可以正常工作,但我无法从组件更新滑块:

  slider = $(React.findDOMNode(@refs.slider)).slider
  slider("value", 123)

这总是在jquery ui的“widget.js”中出现“Uncaught TypeError:this.each is not function”。在javascript控制台和组件中执行$("div.slider").slider("value", 123)工作正常。

但是如何在不使用css选择器并使用react ref?

的情况下使其工作

1 个答案:

答案 0 :(得分:0)

似乎我必须使用不同的jquery ui api调用来获取滑块实例:

componentDidMount: ->
  el = $(React.findDOMNode(@refs.slider)).slider
    value: @props.value
    min: @props.min
    max: @props.max
    step: @props.step
    slide: @handleSlide
  @setState(slider: el.data("ui-slider"))

稍后我可以使用:

@state.slider.value(123)