【问题标题】:ReactJS: Can we have two onChange in a Single Textfield?ReactJS:我们可以在单个文本字段中有两个 onChange 吗?
【发布时间】:2021-01-11 13:18:37
【问题描述】:

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

并且 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 事件上做的事情。 handleChange() =&gt;{ // ...do shoDiw, // ...doExhandleChange, // ...etc }

标签: javascript reactjs react-native material-ui


【解决方案1】:

当你有多个同名道具时,最后一个总是覆盖第一个。所以最后一个 onChange 就是在那里生效的那个。

【讨论】:

    【解决方案2】:

    不,最后一个 onChange 属性将覆盖上一个。

    【讨论】:

    • 是的...现在我知道了
    【解决方案3】:

    我认为最好的方法是在 exhandleChange 函数中调用 showDiv 函数。它将对您有所帮助,否则,如果您可以一次完成所有活动,则无需举办多个活动。

    【讨论】:

    • 是的..我做到了
    【解决方案4】:

    你不能,不;第二个获胜。你可以做的是有一个同时进行两个调用:

    <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>
    

    【讨论】:

    • @PriyankDeepSingh 如果您发现此答案或任何其他答案对您最有帮助,请接受。谢谢。
    猜你喜欢
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 2016-07-03
    相关资源
    最近更新 更多