es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener un elemento específico del objeto “Event” mediante javascript/typescript.

Resumen

Implementé un cuadro de selección en la aplicación Vue.js/Nuxt.js utilizando Vuetify.js.
Añadí el evento @change para obtener el valor seleccionado.
html


js
onChangeEndTime (e : Event) {
console.log(e)
}

La Consola del Desarrollador muestra el objeto seleccionado.
Quiero saber cómo obtener los valores específicos hora y minuto en la función onChangeEndTime.

```

Lo que intenté

  1. console.log(e.target) devuelve undefined.

  2. console.log(e.hour) devuelve el valor exacto, pero muestra un mensaje de error Property 'hour' does not exist on type 'Event'.Vetur(2339).

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para obtener los valores específicos de hour y minute del objeto seleccionado en la función onChangeEndTime, puedes usar la directiva v-model del componente v-select para enlazar el objeto seleccionado a una propiedad de datos de la instancia de Vue. Luego, puedes acceder directamente a las propiedades hour y minute del objeto seleccionado desde esta propiedad de datos.

    Por ejemplo, en la definición del componente Vue, puedes agregar una propiedad de datos selectedTime y enlazarla a la directiva v-model del componente v-select:

    <v-select v-model="selectedTime" :items="times" item-text="text" item-value="value" @change="onChangeEndTime"></v-select>
    
    export default {
      data() {
        return {
          selectedTime: null,
          times: [
            { text: '08:00 AM', value: { hour: 8, minute: 0 } },
            { text: '09:00 AM', value: { hour: 9, minute: 0 } },
            // otras opciones de tiempo
          ]
        }
      },
      methods: {
        onChangeEndTime(e) {
          console.log(this.selectedTime.hour, this.selectedTime.minute);
        }
      }
    }
    

    En el método onChangeEndTime, ahora puedes acceder a las propiedades hour y minute del objeto selectedTime que representa la opción seleccionada en el componente v-select. Ten en cuenta que debes usar this.selectedTime para referirte a la propiedad de datos, ya que está definida en la instancia de Vue.

    Además, asegúrate de que la propiedad value de cada item en el arreglo times sea un objeto con propiedades hour y minute, como se muestra en el ejemplo anterior. Esto es necesario para acceder a estas propiedades en el método onChangeEndTime.

Comments are closed.