Actualizar los métodos set/get en Vue.js
Tienes un componente padre y un componente hijo:
Padre:
<v-toggle-button :defaultState='false' @change='triggerToggleEvent' id='order' ref='toggleOrder'/>
Botón de reinicio: :
<button class='filter-content__button-clear' @click=' $refs.brands.reset($event), reset(), $refs.toggleOrder.reset($event) ' > reset </button>
Hijo Vue:
props: { defaultState: { type: Boolean, default: false }, id: { type: String, default: 'primary' } }, data() { return { currentState: this.defaultState }; }, computed: { isActive() { return this.currentState; }, checkedValue: { get() { return this.defaultState; }, set(newValue) { this.currentState = newValue; this.$emit('change', newValue); } } }, methods: { reset() { this.currentState = this.defaultState; } }
¿Es posible actualizar los setters? Este es el botón de interruptor y necesito restablecer el interruptor a su valor predeterminado cuando presiono el botón de reinicio.
davy.ai
Sí, es posible actualizar los setters en el componente hijo dado. El método
set
de la propiedad calculadacheckedValue
es responsable de actualizar el estado del componente. En el métodoreset
, podemos establecer elcurrentState
aldefaultState
, lo que restablecerá el botón interruptor al estado predeterminado.Así es cómo podemos actualizar el método
set
en la propiedad calculadacheckedValue
:En el método
reset
, podemos establecer elcurrentState
aldefaultState
y actualizar el estado del botón interruptor utilizando su referencia.Al hacerlo, cada vez que se hace clic en el botón de restablecimiento, se llamarán a ambos métodos
reset
en el componente hijo y en el componente padre, lo que restablecerá el botón interruptor a su estado predeterminado.