在React中渲染时如何获取子元素值?

时间:2015-06-24 18:17:12

标签: reactjs

我想自动在选项元素上插入var LONG : Long = 9L; println("The value of LONG is %?".format(LONG)); var DOUBLE : Double = 9.9; println("The value of DOUBLE is %?".format(DOUBLE)); 属性,这样如果元素重新渲染,我可以轻松地从保存状态中选择该选项。

目前我可以手动添加值并且它可以工作,但我尝试在渲染像这样的子项时自动执行此操作。但是,我无法找到价值。有什么想法吗?

value='foo'

1 个答案:

答案 0 :(得分:1)

Select元素的子元素是option的列表,用于检索内部的值只需检查每个元素的子元素。

return React.Children.map(this.props.children, function(child) {
  // can't find "foo", "bar" here
  return React.addons.cloneWithProps(child, {
    name: this.props.name,
    value: child.props.children
  });
}.bind(this));

如果该选项的内容只是一个文字,您可以使用child.props.children属性直接访问它。

例如

<option>Bar</option>

如果内容更复杂(该选项内部不应包含任何html标签,但可能由于某种原因需要它),则必须检查该值并添加一些逻辑

<option>Foo <span>bar</span></option>

使用简单的console.log(child.props.children),您可以看到子元素的结构。