Состояние возвращает данные при первой загрузке на vuex - PullRequest
0 голосов
/ 24 июня 2019

У меня есть список с именем this.userList, который я использую для заполнения таблицы в этом представлении.Моя проблема заключается в том, что при первой загрузке этот список пустовал в Index.vue.

В файле actions.js данные, которые я запрашиваю для службы, в порядке, и когда я их фиксирую, список работает нормально.Но когда я вызываю ...mapState('selectedLocation',['selectedLocation']), on computed, пусто для просмотра.Я действительно понятия не имею, что мне здесь не хватает.Вот некоторый код:

Index.vue

<m-table :listItems="formatedList" 
        :delButton="true" 
        :editButton="true" 
        :detailsButton="false"
        :detailsButtonMessage="$t('views.users.edit')"
        :fields="fields" 
        @delete="deleteRow" 
        @edit="editRow"/>

computed: {
    ...mapState('users',['userList','userFormState']),
    formatedList() {
        if(this.userList.data) {
            this.userList.data.items.forEach((user, index) => {
                let profileId = user.Profiles[0].Profile - 1
                user['profileName'] = this.$t(`profiles[${profileId}].text`)
            })

            return !this.profilesSelect.length ? this.userList.data.items : this.userList.data.items.filter(
                ({profileName}) => this.profilesSelect.find(profile => profile.Name === profileName))
        }
    },
}

methods: { 
    fetchData(){
        this.$store.dispatch('users/read');
    },
}

mounted(){
    this.$store.dispatch('genericTable/clearGenericTable');
    this.fetchData();
    this.fecthFilters();
}

actions.js

async read({ dispatch , rootState }, idLocation = '',updatedParams = false){
    const { qCurrentPage , selected } = rootState.genericTable
    let params = updatedParams ? updatedParams : {
        qCurrentPage,
        qPageSize: selected,
        includeDeleted: false,
        qStatus: true,
    }
    params['locationId'] = rootState.selectedLocation.selectedLocation.PublicId
    params['qProfiles'] = [0,1,2,3,6,8]
    let { data } = await User_GetUsersByLicenseeAndProfile(params)
    const formatedUser = []
    dispatch('setUserList', data)
},
setUserList({ commit },data){
    commit(mutations.FETCH_USERS, data)
},

mutations.js

    [mutations.FETCH_USERS]: (state, payload) => state.userList = payload,

state.js

export default{
    userList: [],
    userFormState: {
        Name: '',
        Email: '',
        Gender: 0,
        Matriculation: '',
        UserName: '',
        Telephone: '',
        Status: true,
        Level: 1,
        HasRegistered: false,
        LoginProvider: 'api',
        Password: '',
    },
}

В файле actions.js, например, если я использую console.log(data), у меня есть список.Проблема в том, когда я получаю список из поля зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...