如何动态加载单选按钮并在 react js 中使用 check 属性?

Sai*_*han 7 javascript reactjs

我正在尝试为单选按钮创建一个通用输入字段,每当我需要在 reactjs 中使用单选按钮时,我都会在我的项目中使用它,所以我想知道如何动态传递单选按钮,以便默认情况下检查第一个元素以及如何在地图功能中使用选中的属性

render() {
    var self = this;
    return(
      <div>
      {
        self.props.options.map(function(option){
          return <label key={option[self.props.id]}><input type="radio" className={self.props.className}
          checked={?????} key={option[self.props.id]}
          onChange={self.props.onChange} value={option[self.props.name]} />{option[self.props.name]}</label>
        })
      }
      </div>
    );

  }
Run Code Online (Sandbox Code Playgroud)

options 是我传递给 map 函数的对象数组

任何帮助都会非常有帮助..

提前致谢 :)

May*_*kla 5

您需要为此使用状态。用这个:

this.state={checked: 0}

onChange(i){
     this.setState({
         checked:index
     });
  }


render() {
    return(
        <div>
            {
                this.state.options.map((option,i)=>{
                    return <label key={option[this.props.id]}>
                                <input 
                                    type="radio" 
                                    className={this.props.className} 
                                    checked={this.state.checked == i? true: false}
                                    key={option[this.props.id]}
                                    onChange={this.onChange.bind(this,i)} 
                                    value={option[this.props.name]} />
                                {option[this.props.name]}
                            </label>
                })
            }
        </div>
    );
}
Run Code Online (Sandbox Code Playgroud)

检查工作小提琴:https : //jsfiddle.net/039eq8bx/