Comment puis-je mettre à jour l'état dans vuex? vue.js 2

Samuel Toh

Mon composant vue est comme ceci:

<template>
    <div>
        <div class="row">
            <div class="col-sm-3">
                <div class="form-group">
                    <label for="status" class="sr-only">Status</label>
                    <select class="form-control" v-model="selected" @change="filterByStatus()">
                        <option value="">All Status</option>
                        <option v-for="status in orderStatus" v-bind:value="status.id">{{ status.name }}</option>
                    </select>
                </div>
            </div>
        </div>
        ...
    </div>
</template>

<script>
    import { mapActions, mapGetters } from 'vuex';
    export default {
        ...
        data() {
            return { selected: '' }
        },
        methods: {
            filterByStatus: function() {
                this.$store.state.status = this.selected
            }
        }
    }
</script>

Ma commande de modules vuex est comme ceci:

import { set } from 'vue'
import order from '../../api/order'
import * as types from '../mutation-types'

const state = {
    status: ''
}
const getters = {
    ...
}
const actions = {
    ...
}

const mutations = {
    ...
}

export default {
    state,
    getters,
    actions,
    mutations
}

J'utilise ceci this.$store.state.order.status = this.selected:, pour mettre à jour l'état lors de l'exécution, mais il existe une erreur comme celle-ci:

[Vue warn]: Erreur de rappel de l'observateur "function () {return this._data. $$ state}": (trouvé dans)

Erreur: [vuex] Ne mute pas l'état du magasin vuex en dehors des gestionnaires de mutation.

Comment puis-je le résoudre?

Je veux l'état de mise à jour, car je veux la valeur utilisée par un autre composant

Amresh venugopal

Vous devez avoir reçu cette erreur en raison de l'activation du mode strict dans la configuration de votre boutique vuex.

Ceci, cependant, est une bonne pratique. Vous ne devez pas modifier l'état sauf à partir d'une mutation.

Donc, pour utiliser le nouveau magasin d'installation; ont une mutation comme:

const mutations = {
   mutateOrderStatus: function (state, payload) {
      state.order.status = payload
   }
}

const actions = {
   updateOrderStatusAction: function ({commit}, payload) {
      commit('mutateOrderStatus', payload)
   }
}

Maintenant, incluez-le dans votre composant comme:

...
methods: {
  ...mapActions([ // spread operator so that other methods can still be added.
    'updateOrderStatusAction'
  ]),
  filterByStatus: function() {
    this.updateOrderStatusAction(this.selected)
  }
}

Note: vous pourriez avoir besoin babelet babel-preset-es2015installé pour utiliser l' opérateur de diffusion: ....

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment puis-je mettre à jour la vue View-Extension avec l'entrée d'état dans SwiftUI?

Comment puis-je mettre à jour l'état de redux dans Reducer dans ReactJS ?

React Js Comment puis-je mettre à jour l'état après des modifications? Avec componentDidUpdate?

Mettre à jour l'état dans Vuex ?

Comment puis-je mettre à jour l'état de la vue en réponse à des modifications externes?

Comment puis-je mettre à jour l'état des objets dans un tableau à l'aide de React?

Comment puis-je mettre à jour automatiquement le contenu changeant dans Vue.js?

Comment mettre à jour l'état dans React js

Comment puis-je mettre à jour l'état parent dans React à partir d'un composant fonctionnel enfant ?

Comment mettre à jour le chemin de l'API de manière dynamique dans l'état VUEX

Comment mettre à jour l'état dans React

Comment mettre à jour l'état d'un composant lorsque la valeur a changé dans vuex store?

Comment puis-je mettre à jour un état dans un tableau d'objets avec Redux?

Comment puis-je mettre à jour seulement une partie de l'état

Comment puis-je mettre à jour l'état en filtrant les données extraites?

Comment puis-je mettre à jour le curseur et obtenir l'état réel?

Comment puis-je mettre à jour l'état du compteur à chaque clic?

Comment puis-je mettre à jour l'état en fonction d'un tableau profondément imbriqué?

Comment puis-je mettre à jour l'état de mon composant React?

Comment dois-je utiliser shouldComponentUpdate ici pour mettre à jour l'état parent dans React.js ?

Comment puis-je mettre à jour correctement mon état redux?

Comment puis-je mettre à jour la valeur dans le texte du type d'entrée sur vue.js 2?

Comment puis-je mettre la vue à jour lorsque l'heure actuelle dépasse le seuil dans SwiftUI?

après avoir vérifié une condition dans render (), vous souhaitez mettre à jour la valeur de l'état à l'aide de setState, comment puis-je faire cela?

Puis-je mettre à jour l'état en utilisant le hook useRef au lieu de l'événement onChange dans React js?

Je veux alerter si une valeur JSON change, puis la mettre à jour dans l'état, puis console.log

Comment puis-je définir directement la valeur dans l'état de VueX

Comment puis-je ajouter la fonctionnalité callBack à mon hubClass dans signalR pour mettre à jour l'état de travail actuel du client avec un délai?

Comment puis-je mettre à jour plusieurs colonnes sur plusieurs lignes dans postgresql à l'aide de psycopg2

TOP liste

  1. 1

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  2. 2

    Javascript indiquant "impossible de définir la propriété 'innerHTML' sur null"

  3. 3

    Nextcloud avec Docker: impossible de créer ou d'écrire dans le répertoire de données

  4. 4

    La taille de la forme n'est pas égale à la taille de la cellule du tableau et ajuste le texte à l'intérieur de la forme

  5. 5

    Trouver l'intersection et l'union de deux rectangles

  6. 6

    Comment changer la couleur de la police dans R?

  7. 7

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  8. 8

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  9. 9

    Compter combien de fois un nombre apparaît dans un tableau aléatoire

  10. 10

    Pourquoi utiliser Asyncio ne réduit pas le temps d'exécution global en Python et n'exécute pas les fonctions simultanément?

  11. 11

    Comment convertir une chaîne en tuple en utilisant `reads`?

  12. 12

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

  13. 13

    comment afficher un bouton au-dessus d'un autre élément ?

  14. 14

    Création d'un nouvel objet d'une classe avec un nouveau nom en cliquant sur un bouton dans java swing

  15. 15

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  16. 16

    Restauration de la sauvegarde de la base de données SQL Server sur la version inférieure

  17. 17

    Créer un graphique à barres avec une fréquence relative / à partir d'un objet de table dans R

  18. 18

    Création d'un rappel python pour une fonction C à partir d'une DLL avec un tampon char.

  19. 19

    java.lang.NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode

  20. 20

    comment le contrôle de tableau javascript devrait-il être

  21. 21

    impossible d'ouvrir un nouvel onglet dans react, ajoute localhost: 3000 sur le lien?

chaudétiquette

Archive