javascript - 按钮中的 e.target.value 有时返回未定义。为什么会出现这种情况?

标签 javascript reactjs

我定义了四个按钮,这些按钮将在 onClick 事件中调用相同的方法。

方法

   changeFilterForButtons(e){
    let filter = e.target.value;
    console.log("----------------------------"  + filter);
    this.props.handleData(filter);
    this.props.filterData();
}

渲染()

 render() {
    return (
        <div className='audit-menu' style={{backgroundColor: '#fff'}}>
            <div className='row align-items-center'>
                <div className="col text-left ml-2 font-weight-bold">
                    Invoice audit
                </div>
                <div className="col-6 ">
                    <div class="btn-group btn-group w-100">
                        <button class="w-25 btn menu-btn" value='inbox' onClick={this.changeFilterForButtons.bind(this)}><i className="icon-upload pr-3">
                        </i>Inbox
                        </button>
                        <button class="w-25 btn menu-btn" value='rejected'  onClick={this.changeFilterForButtons.bind(this)}><i className="icon-search pr-3">
                        </i>Rejected
                        </button>
                        <button class="w-25 btn menu-btn" value='accepted' onClick={this.changeFilterForButtons.bind(this)}><i className="icon-search pr-3">
                        </i>Accepted
                        </button>
                        <button class="w-25 btn menu-btn" value='archive' onClick={this.changeFilterForButtons.bind(this)}><i className="icon-search pr-3">
                        </i>Archive
                        </button>
                    </div>
                    ​
                </div>
                <div className="col">
                    <li className="nav-item dropdown d-none d-lg-block">
                        <a aria-expanded="true" className="nav-link dropdown-toggle select-company-dropdown"
                           data-toggle="dropdown" href="#" id="selectLanguage">Select company</a>
                    </li>
                </div>
            </div>
        </div>
    );
}

当按钮被点击的次数最多时,上述函数会获取 e.target.value 。但有时它会返回未定义。为什么会发生这种情况? Console.log 输出添加在下面。

enter image description here

最佳答案

首先我必须说以下两个答案都是正确的。我的错误是因为它的图标而发生的。

<button class="w-25 btn menu-btn" value='archive' onClick={this.changeFilterForButtons.bind(this)}><i className="icon-search pr-3"</i>Archive</button>

When i accidentally click the icon, it will return undefined because it doesn't have any value to return.

关于javascript - 按钮中的 e.target.value 有时返回未定义。为什么会出现这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54546133/

相关文章:

javascript - 如何更改内部元素和数组

javascript - 使用 JavaScript 为所选文本设置 CSS 样式

reactjs - 通量/实用程序 : How to access to props in the calculateState method?

javascript - React ref 在 onChange 中没有值

javascript - 转换后的内容使 html 卡顿到页面末尾

javascript - infragistics igeditor 的 onsubmit 验证选项不起作用

javascript - 如何使用jQuery在表格行下分别选择各个表格数据的文本

javascript - 过渡期间 AngularJS SubForm 的性能

javascript - 如何使用 Reactjs 更新 Google 电子表格中的特定行?

javascript - 使用三元运算符检查数组中的键是否存在