Desde 2020 sempre tive problema na hora de criar modal, não sabia como lidar com o JavaScript. Aqui em 2025 eu conheci o Livewire, e com ele percebi que era bem fácil criar o modal através do PHP. Nessa semana, eu criei cinco modais dentro de um HTML. É muito modal para um só HTML, mas para facilitar eu inventei um gerenciador de modal, assim:
function modalDefinir($modais) {
$this->modal=array_fill(0,5,false);
foreach($modais as $indice) { $this->modal[$indice]=true; }
}
Para ativar a modal de índice 1, eu uso o comando $this->modalDefinir([1]). Para ativar outros modais, uso apenas uma vírgula para acrescentar outro índice.
Outro truque bacana que eu aprendi foi passar toda a instância da classe para a view, assim:
return view('nfView',['n'=>$this]); }
Isso acabou com o pesadelo de passar um monte de parâmetros na hora de chamar o HTML, é bem mais fácil mandar toda a classe para ele. Para isso funcionar, eu usei um monte de variável pública. Mas o PHP não é Livewire, ele não tem o truque do "wire:model" e nem o "wire:click", o único recurso que sobre é a atualização do navegador, onde o HTML passa os dados obtidos do usuário, e o PHP monta um novo HTML baseado nas informações que recebeu, o problema é que tudo é perdido no meio do caminho. Para contornar esse problema, eu criei a função recuperarMemoria:
Pergunta
Frank K Hosaka
Desde 2020 sempre tive problema na hora de criar modal, não sabia como lidar com o JavaScript. Aqui em 2025 eu conheci o Livewire, e com ele percebi que era bem fácil criar o modal através do PHP. Nessa semana, eu criei cinco modais dentro de um HTML. É muito modal para um só HTML, mas para facilitar eu inventei um gerenciador de modal, assim:
function modalDefinir($modais) { $this->modal=array_fill(0,5,false); foreach($modais as $indice) { $this->modal[$indice]=true; } }
Para ativar a modal de índice 1, eu uso o comando $this->modalDefinir([1]). Para ativar outros modais, uso apenas uma vírgula para acrescentar outro índice.
Outro truque bacana que eu aprendi foi passar toda a instância da classe para a view, assim:
return view('nfView',['n'=>$this]); }
Isso acabou com o pesadelo de passar um monte de parâmetros na hora de chamar o HTML, é bem mais fácil mandar toda a classe para ele. Para isso funcionar, eu usei um monte de variável pública. Mas o PHP não é Livewire, ele não tem o truque do "wire:model" e nem o "wire:click", o único recurso que sobre é a atualização do navegador, onde o HTML passa os dados obtidos do usuário, e o PHP monta um novo HTML baseado nas informações que recebeu, o problema é que tudo é perdido no meio do caminho. Para contornar esse problema, eu criei a função recuperarMemoria:
function recuperarMemoria() { $this->nNF = $_SESSION['vetor']['nNF']; $this->xNome = $_SESSION['vetor']['xNome']; $this->previa = $_SESSION['vetor']['previa']; $this->codp = $_SESSION['vetor']['codp']; $this->vNF = $_SESSION['vetor']['vNF']; $this->difAliqICMS = $_SESSION['vetor']['difAliqICMS']; $this->soma = $_SESSION['vetor']['soma']; $this->inativos = $_SESSION['vetor']['inativos']; }
Finalmente, um código exemplo de como usar tudo isso:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.