массив с объектами: state.leadReacts = [{}, {}]
                  
                  
                  и есть computed свойство:
                  
                  
                  pricingFinished(){
                  
                  
                    return this.$store.state.leadReacts.filter(obj => {
                  
                  
                      return obj.status_id === 4
                  
                  
                    })
                  
                  
                  }
                  
                  
                  но проблема:  когда state.leadReacts обновляется, это computed свойство не изменяется. что делать? может сделать первое computed свойство, которое будет возвращать state.leadReacts, и второе свойство, которое будет фильтровать первое, и возвращать только часть из них?
                  
                  
                
попробуй mapState использовать для leadReacts
попробовал сделать getters, но всё равно не работает. в дебаггере показывает, что в vuex геттеры возвращают правильные данные (реактивно). а вот в самом компоненте вычисляемые свойства, которые просто возвращают геттер (return this.$store.getters.leadReactsPricingFinished) - не реактивные, т.е. когда в геттере меняется содержимое, то в computed остаётся старое. обновление состояние я делаю через экшен=>мутация, т.е. вроде всё правильно. и в примерах код такой же как и у меня - работает, а у меня - нет. почему так?
по всей видимости, причина была в том что я изменял в store массив из объектов. поменял мутатор на вот такой: updateLeadReact(state, payload){Vue.set(state.leadReacts, payload)} (было так: updateLeadReact(state, payload){ state.leadReacts = payload; }, ) и заработало. не знал, что можно в мутаторе использовать Vue.set
Обсуждают сегодня