[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Lenon Emanuel Martini
Criador Lenon Emanuel Martini 17/01/2022

Boa tarde professor, estou com a seguinte duvita tenho três campos input text para realizar uma busca e com wire:click mando para a action render para me retornar a listagem filtrada pois bem ele ja esta fazendo isso a duvida é como faço para limpar os inputs quando ele me retornar a lista filtrada. Consegue me ajudar ja estou alguns dias quebrando a cabeça e não consigo nem encontrei algo relativo que me auxilia-se. obs ja tentei colocar $this->reset(['campo1', 'campo2', 'campo3']) e não deu certo 

Manager Carlos Ferreira 17/01/2022

Olá, Lenon!
Tudo bem?

O reset resolve esse problema, como fez ele?
Me mostra o código que te ajudo a resolver;

Veja aqui no exemplo: https://laravel-livewire.com/docs/2.x/properties#initializing-properties

Carlos Ferreira
Criador Lenon Emanuel Martini 17/01/2022
<div class="col-sm-1">
     <label>Código</label>
         <input class="form-control form-control-sm" name="id" id="codigo" wire:model.defer="codigo" autocomplete="off" />
</div>
<div class="col-sm-5">
     <label>Empresa</label>
     <input class="form-control form-control-sm" name="social_reason" id="social_reason" wire:model.defer="social_reason" placeholder="Digite aqui..." autocomplete="off" />
</div>
                                           
<div class="col-sm-3">
     <label>CNPJ</label>
    <input type="text" class="form-control form-control-sm" id="cnpj" wire:model.defer="cnpj" id="cnpj" name="cnpj" placeholder="" autocomplete="off">
</div>
<div class="col-sm-3 text-center">
                                             
       <button class="btn btn-sm btn-outline-dark" wire:click="render"  style="margin-top:25px">
             <i class="fas fa-search"></i> Filtrar
       </button>
                                             
</div>
Lenon Emanuel Martini
Criador Lenon Emanuel Martini 17/01/2022
class HomeCompanies extends Component
{  
    public $codigo;
    public $social_reason;
    public $cnpj;
   
 
   
 

    public function render(){    

               

        $userLogged = auth()->user()->name;    
        $query = Company::query();
       
        if($this->codigo){
             $query->where('id', $this->codigo);          
        }
        if($this->social_reason){
            $query->where('social_reason', 'LIKE', '%' . $this->social_reason . '%');
        }
        if($this->cnpj){
            $query->where('cnpj', 'LIKE', $this->cnpj);
        }  
       
       
       
        $lista = $query->paginate(8);    

       
        $this->reset(['codigo', 'social_reason', 'cnpj']);
       
        return view('livewire.companies.home-companies', [
            'lista' => $lista
           
           
        ]);

    }

}
Lenon Emanuel Martini
Criador Lenon Emanuel Martini 17/01/2022

Segue professor a primeira imagem é os inputs e a segunda é a classe responsavel

so que se eu colocar o reset ele nem filtra os dados

 

Lenon Emanuel Martini
Manager Carlos Ferreira 17/01/2022

Você tem o projeto completo no GitHub?
Porque fica mais fácil para mim rodar ele e testar aqui.

Se tiver com factories e seeders certinhos, melhor ainda, facilita o meu trabalho em testar.

No aguardo amigo.

Carlos Ferreira
Criador Lenon Emanuel Martini 17/01/2022

Vou subir ele para o git professor ja te mando o link

Lenon Emanuel Martini
Criador Lenon Emanuel Martini 17/01/2022

https://github.com/LenonMartini/Projeto-LiveWire.git segue o link professor

Lenon Emanuel Martini
Manager Carlos Ferreira 17/01/2022

Agendei aqui para baixar o seu projeto e testar, te aviso no e-mail.

Carlos Ferreira
Criador Lenon Emanuel Martini 17/01/2022

Valeu muito obrigado professor 

Lenon Emanuel Martini
Manager Carlos Ferreira 17/01/2022

Te enviei um e-mail (vou finalizar o ticket aqui, e continuamos lá)

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!