javascript - onChange 不会在 React 组件中触发

标签 javascript reactjs

我有以下组件,我在其中渲染内联无序元素的列表,每次选择发生变化时我都会尝试更新存储中的值

class EditMode extends Component {

  changeComps = (e) => {
    console.log(e.target.value);

  };

  render() {

    let compOptions = this.props.compOptions.map((val, idx) => {
        return (
            <li key={idx} data-key={idx} style={{backgroundColor: this.props.compCheckedVal === idx ? '#30C1C6' : 'white'}}>
                <input type="radio" value={val}  />
                <label htmlFor="">{val === 'No Coverage' ? val.toUpperCase() : val}</label>
            </li>
        )
    });

    return (
        <div className='editDetails'>
            <div className="row">
                <div className="col">
                    {this.props.compDeductTitle}
                </div>
            </div>
            <div className="row">
                <div className="col">
                    <ul onChange={this.changeComps}>
                        {compOptions}
                    </ul>
                </div>
            </div>
            ..........
          </div>)
   }

目前我不确定为什么 onChange 事件处理程序没有触发。我什至没有看到该事件在控制台中打印出来。我在这里做错了什么吗?

最佳答案

onChange 事件不适用于 ul 元素。

请查看more details .

如果你想附加onChange事件,compOptions可以这样写。

let compOptions = this.props.compOptions.map((val, idx) => {
    return (
        <li key={idx} data-key={idx} style={{backgroundColor: this.props.compCheckedVal === idx ? '#30C1C6' : 'white'}}>
            <input type="radio" value={val} onChange={this.changeComps}  /> //attach onChange here directly
            <label htmlFor="">{val === 'No Coverage' ? val.toUpperCase() : val}</label>
        </li>
    )
});

关于javascript - onChange 不会在 React 组件中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52548162/

相关文章:

javascript - 使用 React 绘制 d3 轴,无需直接操作 D3 DOM

javascript - 背景图像未在构建 React 中显示

javascript 变量中的减号

javascript - 为单元测试 js web 请求加载本地 json 文件是一个好习惯吗?

javascript - HTML5-canvas 使圆圈在 Canvas 内闪烁

javascript - 输入类型的电子邮件在控制台中抛出警告。 react

javascript - javascript正则表达式(x)、小数点、分界的例子和解释

javascript - 从 getElementsByTagName() 获取属性的最佳方法?

javascript - 如何访问 React 元素的innerHTML?

javascript - react : How to know which component calls the function