ReactJS:我们可以在一个文本字段中有两个onChange吗?

问题描述

我想知道我们是否可以在单个Textfield中拥有两个onCHange。 在我的代码中,“ onChange = {showDiv}”是一个处理程序,其工作是在单击并隐藏“ option1”时显示

and onChange = {(e)=> exhandleChange(e)}正在执行其他任务。

         <TextField
            id="outlined-select-currency-native"
            select
            onChange={ showDiv}
            SelectProps={{
              native: true,}}
            fullWidth
            variant="outlined"
            name="Type"
            onChange={(e) => exhandleChange(e)}
            value={values.Type}
          >
            <option aria-label="None" value="" />
            <option value={"option1"}>Direct</option>
            <option value={"option2"}>Direct 2</option>
          </TextField>

解决方法

否,最后一个onChange道具会覆盖前一个道具。

,

每当您有多个同名道具时,最后一个道具总是会覆盖第一个道具。因此,最后一个onChange就是在那里生效的那个。

,

我认为最好的方法是在exhandleChange函数中调用showDiv函数。这将为您提供帮助,否则,如果您可以同时进行一项活动,则不必举办多个活动。

,

不能,不可以;第二个获胜。相反,您可以做的是只有一个人同时拨打两个电话:

<TextField
   id="outlined-select-currency-native"
   select
   onChange={e => { showDiv(e); exhandleChange(e); }}
   SelectProps={{
     native: true,}}
   fullWidth
   variant="outlined"
   name="Type"
   value={values.Type}
 >
   <option aria-label="None" value="" />
   <option value={"option1"}>Direct</option>
   <option value={"option2"}>Direct 2</option>
</TextField>