当前位置: 首页 > 知识库问答 >
问题:

选择和反应

王君墨
2023-03-14

我想在react中处理选择的事件,示例如何在普通JS中工作。

因此我为选择创建了react组件:

@ChosenSelect = React.createClass
  propTypes:
    options: React.PropTypes.array

  componentWillMount: ->
    @setState
      selected: @props.value

  componentDidMount: ->
    select = $(ReactDOM.findDOMNode(@refs.select))

    $(select).chosen()
      .on('chosen:showing_dropdown', @props.onShowingDropdown)
      .on('chosen:hiding_dropdown', @props.onHiddingDropdown) 
      .change @props.onChange

  renderOption: (option) ->
    <option key={option.value} value={option.value}>{option.label}</option>

  renderSelectOptions: ->
    if @props.options
      ops = @props.options.map (option) =>
        if option.type == 'group'
          <optgroup label={option.name}>
            {
              option.items.map((item) =>
                @renderOption(item))
            }
          </optgroup>
        else
          @renderOption option

  render: ->
    selectProps = $.extend({}, @props, ref: 'select')
    <select {...selectProps} value={ @state.selected }>
      {@props.children}
      {@renderSelectOptions()}
    </select>
<ChosenSelect className="form-chosen-select"
              ref="chosen"
              options={ @state.list }
              onShowingDropdown=@toggleFormState
              onHiddingDropdown=@toggleFormState
              onChange=@change />

共有1个答案

彭胡媚
2023-03-14

我发现了这个窍门:

$(select).chosen()
  .on('chosen:showing_dropdown', @props.onShowingDropdown)
  .on('chosen:hiding_dropdown', @handleHiddingDropdown)
  .change @props.onChange

handleHiddingDropdown: ->
  setTimeout =>
    @props.onHiddingDropdown() if @props.onHiddingDropdown
  , 1
 类似资料:
  • 使用反应式版本的panache,我无法使用项目从表中选择特定列 出于总和原因,这会生成不正确的 SQL 语句,即 它从不使用投影。是否有另一种方法可以从SQL中获取不是正在使用的实体的单个值?有什么解决办法吗?

  • 本文向大家介绍javascript使用shift+click实现选择和反选checkbox的方法,包括了javascript使用shift+click实现选择和反选checkbox的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript使用shift+click实现选择和反选checkbox的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javasc

  • 问题内容: 我试图建立一个适当的反应输入复选框,选择所有组件。想法是有一个组件,并且我可以检查,所有组件也都将被选中。 我有两个问题。 如果选中,则无法取消选择任何一个。 如果已全部选中,则应进行检查。 这是例子。 问题答案: 我认为可能会对您的实现进行一些修改,以便以更具 React风格的 形式获得所需的结果。 首先要取消的是复选框类和该类的prop 。复选框是一个相对愚蠢的元素,它不应该了解诸

  • 我有这个密码 此代码显示所有类别。我有 如何使ifadd attribute selected to select(在映射函数中)

  • 问题内容: 我的CSS定位器有问题。我为父母有一个独特的标签,从那里我可以得到所需的孩子。 该类与所有下拉列表相似,因此唯一会改变的值是。另外,有时我需要取消选择它们。 为此,我有一个定位器。 如您所见,第一部分仍然相同。 所以我的问题是是否有可能编写一些方法(或任何其他方式)来更改定位器的最后一部分?我有600多个下拉菜单,并且为600个新定位器创建了一个目标,这使我发疯。 对我来说,执行类似操

  • 问题内容: 我正在尝试找到最适合与我的React应用程序一起使用的表,而现在,react表提供了我需要的一切(分页,服务器端控件,过滤,排序,页脚行)。 话虽这么说,我似乎无法选择一行。没有任何例子可以证明这一点。 我尝试过的一些操作包括尝试在单击行时设置className。但是我似乎在nor中找不到调用元素。另外,我不喜欢这种方法,因为这不是React应用程序应该做的事情。 一些可能的解决方法是