Vários formulários de entrada têm eventos de alteração, portanto, se a otimização permitir que várias entradas compartilhem um evento de alteração.

O seguinte é uma demonstração na sintaxe de reação:

   <div>
          <select name="lesson" value={this.state.lesson} onChange={ this.handlerChange }>
            <option value={1}>1阶段</option>
            <option value={2}>2阶段</option>
            <option value={3}>3阶段</option>
          </select> --- { this.state.lesson }
        </div>
        <div>
          <textarea name='note' value={ this.state.note } onChange = { this.handlerChange }></textarea>
        </div>
state = {
    lesson: 1,
    note: '',
  }
 handlerChange = (event) => {
    console.log(event.target.name)
    this.setState({ [event.target.name]: event.target.value })
  }

O acima é obtido definindo o atributo name na tag

O segundo método é a forma mais comum que utilizo no vue. Supondo que os parâmetros do evento sejam fixos e você queira estender os parâmetros passados, você pode fazer assim:

   <div>
          <select value={this.state.lesson} onChange={ (e)=>this.handlerChange(e,"lesson") }>
            <option value={1}>1阶段</option>
            <option value={2}>2阶段</option>
            <option value={3}>3阶段</option>
          </select> --- { this.state.lesson }
        </div>
        <div>
          <textarea value={ this.state.note } onChange = {(e)=>this.handlerChange(e,"note") }></textarea>
        </div>
 handlerChange = (event,type) => {
    console.log(type)
    this.setState({ [type]: event.target.value })
  }

A expressão pode não estar muito clara, mas se você entender, acredito que será muito mais conveniente para você no projeto!

Acho que você gosta

Origin blog.csdn.net/m0_57033755/article/details/131959032
Recomendado
Clasificación