在react中添加单选按钮时遇到的问题-输入是一个空元素标签,并且既不能具有child元素,也不能使用dangerouslySetInnerHTML元素

时间:2018-08-19 06:21:47

标签: reactjs jsx

输入是一个空元素标记,并且既不能使用children也不能使用dangerouslySetInnerHTML

  render() {
    let radioid = this.props.radioid;
    return (
      <div className="row">
        {this.props.options.map(function(option) {
          return (
            <div key={radioid} className="column">
              <input type="radio" name={radioid} value={option}>
                <label>{option}</label>
              </input>
            </div>
          );
         })}
      </div>
    );
  }

例如,选项是A,B,C,D等元素的列表

2 个答案:

答案 0 :(得分:3)

根据错误,输入标签不应有任何子代,请将标签从输入闭合标签中取出

render() {
    let radioid = this.props.radioid;
    return (
        <div className="row">
        {this.props.options.map(function(option) {
            return (
            <div key={radioid} className="column">
                <label>{option}</label>
                <input type="radio" name={radioid} value={option}/>
            </div>
            );
        })}
        </div>
    );
}

答案 1 :(得分:0)

您收到错误,因为 jsx 中的 input 标签应该是自关闭的,因此返回后始终 jsx 脚本应该编写。

render() {
    let radioid = this.props.radioid;
    return (
        <div className="row">
        {this.props.options.map(function(option) {
            return (
            <div key={radioid} className="column">
                <label>{option}</label>
                <input type="radio" name={radioid} value={option}/>
            </div>
            );
        })}
        </div>
    );
}