javascript - react - "Forward"事件

标签 javascript reactjs

我有多个输入字段。当输入某些内容时,我想从所有输入字段调用相同的函数。为了了解事件是从哪个控件触发的,我创建了这段代码。这工作正常,但实际上,我想转发 event 以访问 event.target.value 属性。简而言之,这是我的组件:

class FreightList extends Component {

   constructor(props) {
       super(props);
       this.state = {
           filters : [],
       };
       this.handleIdKeyUp = this.onFiltersKeyUpHandler.bind(this, event, 'Id');
       this.handleCompanyKeyUp = this.onFiltersKeyUpHandler.bind(this, event, 'Company');
   }

   onFiltersKeyUpHandler(event,filterName) {
     //do something
   }

   render() {
      return (
         <input type="text" ref="filtersId" onKeyUp={this.handleIdKeyUp.bind(this)} className="form-control minWidth50px" />
         <input type="text" ref="filtersCompany" onKeyUp={this.handleCompanyKeyUp.bind(this)} className="form-control minWidth50px" />
      )
   }
}

现在的问题是,在方法 onFiltersKeyUpHandler 中,event.target 属性为 null。我确定,这段代码

this.handleIdKeyUp = this.onFiltersKeyUpHandler.bind(this, event, 'Id');

对于“转发”event 参数无效,该参数应由 handleIdKeyUp 接收。那么如何将 event 参数转发到 onFiltersKeyUpHandler 来访问 event.target.value

最佳答案

您不必在构造函数中将该方法绑定(bind)到 this。相反,请使用如下箭头功能。此外,还可以在 onKeyUp 事件中使用箭头函数。

class FreightList extends Component {

    constructor(props) {
        super(props);
        this.state = {
            filters : [],
        };
    }

    onFiltersKeyUpHandler = (event, filterName) => {
        //do something
    }

    render() {
        return (
            <div>
             <input type="text" ref="filtersId" onKeyUp={(e) => this.onFiltersKeyUpHandler(e, 'Id')} className="form-control minWidth50px" />
             <input type="text" ref="filtersCompany" onKeyUp={(e) => this.onFiltersKeyUpHandler(e, 'Company')} className="form-control minWidth50px" />
            </div>
        )
    }
}

关于javascript - react - "Forward"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48420026/

相关文章:

javascript - 解析 JSON 数据的优化方式

javascript - angular2 xhrfields withcredentials true

javascript - 在 React 的组件构造函数中传递函数

reactjs - 在 Material-UI v5 中,我应该更喜欢 css Prop 而不是 sx Prop ,反之亦然?

javascript - 求和 html 输入中的数字,Javascript

javascript - 当有一张幻灯片时,Swiper js 显示 3 张相同的幻灯片

javascript - 在 Canvas 中找到圆弧中心

reactjs - 如果以这种方式创建React Element,如何向它添加样式?

reactjs - react native map 标记不显示

reactjs - 如何将 json 文件从 s3 返回到特定的 url,但仅返回该 url