reactjs - onClick 未在 React.js 输入单选按钮上触发

标签 reactjs dom dom-events

移动onClick ={props.onPassFail}移动到 wrapper 时触发 <Label>但连接到 <Input> 时不会触发控制。我最终想触发 onChange 事件,并且不明白为什么 Input 没有注册 onClick 或 onChange 事件。我遵循 Bootstrap 4.0.0-beta 所需的单选按钮约定。

如何将 onClick 和 onChange 直接附加到 <Input>控制?

代码:

<div className="btn-group" data-toggle="buttons">
  <label className="btn btn-secondary passfail passfail-fail" onClick={props.onPassFail}>
    <input type="radio" name="passfail" id="option1" autoComplete="off" /> Fail
  </label>
  <label className="btn btn-secondary passfail passfail-pass" onClick={props.onPassFail}>
     <input type="radio" name="passfail" id="option2" autoComplete="off"  /> Pass
  </label>
</div>

最佳答案

您可以直接在输入控件上添加 onClickonChange 检查下面的代码,它完全有效

onClick 和 onChange 的处理程序是添加在组件中的函数,在这些函数中,您可以调用作为 props 传递的任何处理程序

export default class Test extends Component {
    constructor(props) {
        super(props);
        this.clicked = this.clicked.bind(this);
        this.changed = this.changed.bind(this);
    }

    clicked(){
        console.log("clicked");
        //this.props.onPassFail();
    }

    changed(){
        console.log("changed");
        //this.props.onPassFail();
    }

    render() {
        const { handleSubmit  , error } = this.props
        return (
            <label>
                <input type="radio" onClick={this.clicked} onChange={this.changed} />
            </label>
        );
    }
}

关于reactjs - onClick 未在 React.js 输入单选按钮上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46658336/

相关文章:

javascript - getElementById(element).innerHTML 缓存?

node.js - npm 错误! azure devops 中的代码 ELIFECYCLE 无法使其运行

javascript - React Flux - 在调度中调度 - 如何避免?

reactjs - 使用 SWAPI(星球大战 API)的 React 项目出现混合内容错误

Java DOM XML 解析器 - 打印的 XML 包含一个标签而不是多个标签

javascript - Firefox 错误,拖动事件给 dataTransfer.files = null,在所有其他浏览器中定义

javascript - 可以用链式表示法替换 Object.keys(myObj) 吗?

javascript - 使用 karma 测试多个 dom

java - XML 节点转换时未声明命名空间

javascript - 我可以捕获元素的调整大小事件吗?