Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

estou com um erro

Meu código esta estourando este erro Computed property "mudaCorStar" was assigned to but it has no setter.

Como fazer este setter??

export default{
//props:[ 'quantidade', 'texto', 'link', 'tipo'],
 components: {
    Carousel,
    Slide,
    'modal-desktop': Modal,
    'modal-titulo': TitleModal,
    'modal-itens-tabela': TableModal

  },
  data(){
    return{

      class: false,
      showModal: false,
      text:'',
      filtro:'',
      tablelistas:[
         { id:'1', favoritos: false, prazo:'2 dias', processo:'907653', estipulante:'teste do mario', cnpj:'111111111111111', data:'12/05/2011' }
        ,{ id:'2', favoritos: true, prazo:'4 dias', processo:'98765', estipulante:'teste do zé', cnpj:'222222222222222', data:'12/05/2011' }
        ,{ id:'3', favoritos: false, prazo:'6 dias', processo:'234567', estipulante:'teste do Julio', cnpj:'333333333333333', data:'12/05/2011' }
        ,{ id:'4', favoritos: false, prazo:'7 dias', processo:'654321', estipulante:'teste do bruno', cnpj:'444444444444444', data:'12/05/2011' }
        ,{ id:'5', favoritos: true, prazo:'9 dias', processo:'123456', estipulante:'teste do carlos', cnpj:'5555555555555', data:'12/05/2011' },
         { id:'1', favoritos: false, prazo:'2 dias', processo:'907653', estipulante:'teste do mario', cnpj:'111111111111111', data:'12/05/2011' }
        ,{ id:'2', favoritos: false, prazo:'4 dias', processo:'98765', estipulante:'teste do zé', cnpj:'222222222222222', data:'12/05/2011' }
        ,{ id:'3', favoritos: true, prazo:'6 dias', processo:'234567', estipulante:'teste do Julio', cnpj:'333333333333333', data:'12/05/2011' }
        ,{ id:'4', favoritos: true, prazo:'7 dias', processo:'654321', estipulante:'teste do bruno', cnpj:'444444444444444', data:'12/05/2011' }
        ,{ id:'5', favoritos: true, prazo:'9 dias', processo:'123456', estipulante:'teste do carlos', cnpj:'5555555555555', data:'12/05/2011' },
         { id:'1', favoritos: false, prazo:'2 dias', processo:'907653', estipulante:'teste do mario', cnpj:'111111111111111', data:'12/05/2011' }
        ,{ id:'2', favoritos: true, prazo:'4 dias', processo:'98765', estipulante:'teste do zé', cnpj:'222222222222222', data:'12/05/2011' }
        ,{ id:'3', favoritos: false, prazo:'6 dias', processo:'234567', estipulante:'teste do Julio', cnpj:'333333333333333', data:'12/05/2011' }
        ,{ id:'4', favoritos: false, prazo:'7 dias', processo:'654321', estipulante:'teste do bruno', cnpj:'444444444444444', data:'12/05/2011' }
        ,{ id:'5', favoritos: false, prazo:'9 dias', processo:'123456', estipulante:'teste do carlos', cnpj:'5555555555555', data:'12/05/2011' },
         { id:'1', favoritos: true, prazo:'2 dias', processo:'907653', estipulante:'teste do mario', cnpj:'111111111111111', data:'12/05/2011' }
        ,{ id:'2', favoritos: false, prazo:'4 dias', processo:'98765', estipulante:'teste do zé', cnpj:'222222222222222', data:'12/05/2011' }
        ,{ id:'3', favoritos: false, prazo:'6 dias', processo:'234567', estipulante:'teste do Julio', cnpj:'333333333333333', data:'12/05/2011' }
        ,{ id:'4', favoritos: true, prazo:'7 dias', processo:'654321', estipulante:'teste do bruno', cnpj:'444444444444444', data:'12/05/2011' }
        ,{ id:'5', favoritos: false, prazo:'9 dias', processo:'123456', estipulante:'teste do carlos', cnpj:'5555555555555', data:'12/05/2011' }
      ]
    }
  },
  computed: {

    listaComFiltro() {
      if(this.filtro) {
        let exp = new RegExp(this.filtro.trim(), 'i');
        return this.tablelistas
        .filter(function tablelista(value) {
          return exp.test(value.cnpj) || exp.test(value.processo) || exp.test(value.estipulante); 
        }); 
      } else {
        return this.tablelistas;
      }
    },
    mudaCorStar(){
      return{
        favoritos : !this.tablelistas.favoritos,
      } 
    },


  },
  methods: {

  }

}
3 respostas

Oi Victor, onde você está usando esse mudaCorStar? É em um listener de click? Tipo v-click?

Me parece na verdade que você já tem esse setter, ele já é o mudaCorStar, o problema parece ser o return, visto que setters não devem retornar valores.

Sim é um evento de click

solução!

Oi Vitor, então, de acordo com a documentação. O que você coloca no computed são sempre getters por padrão: https://vuejs.org/v2/guide/computed.html#Computed-Setter

Para que seja definido um setter, você precisa escrever o código de um jeito um pouquinho diferente. Você vai definir uma propriedade ligado a um objeto com duas chaves: get e set dessa forma:

mudaCorStar: {
    get: function(){ ... },
    set: function(){ ... }
}