JSFiddle - React, Tailwind, and code Playground
HTML
<p>Filtros:</p>
<label for="apenasAtivos"><input type="checkbox" id="apenasAtivos" /> Filtrar Ativos</label>
<hr />
<h3>Dados:</h3>
<ul id="dados"></ul>
JavaScript
var dados = [
{
"Nome": "EMPRESA1",
"Status": true
}
,{
"Nome": "EMPRESA2",
"Status": false
}
,{
"Nome": "EMPRESA3",
"Status": true
}
];
//Limpa os li's anteriores,
function clearUl(){
var dadosUl = document.getElementById("dados");
while (dadosUl.firstChild) {
dadosUl.removeChild(dadosUl.firstChild);
}
}
function popNoFilter(){
//Simplismente Popula...
for(x in dados){
var dadosUl = document.createElement('li');
dadosUl.innerHTML = dados[x]['Nome'] + ' - (' + dados[x]['Status'] + ')';
document.getElementById("dados").appendChild(dadosUl);
}
}
//Ao clicar ativa os filtros
document.getElementById('apenasAtivos').addEventListener('click', function() {
//Limpa os nodes anteriores.
clearUl();
//Tirou os filtros
if(!this.checked){
popNoFilter();
return false;
}
//Repopula de acordo com o Filtro
for(x in dados){
if(dados[x]['Status']){
var dadosUl = document.createElement('li');
dadosUl.innerHTML = dados[x]['Nome'] + ' - (' + dados[x]['Status'] + ')';
document.getElementById("dados").appendChild(dadosUl);
}
}
});
//Inicia a pagina e já popula
popNoFilter();