vue фильтровать по значению флажка true или false - PullRequest
0 голосов
/ 18 июня 2020

В моем приложении vue я хочу отфильтровать список, чтобы отображались только те записи, которые были модерированы.

То, что я нахожу, это когда флажок установлен, я получаю все результаты, которые верны, и когда флажок не установлен, я получаю, что все результаты ложны, однако я хочу, чтобы когда флажок пуст, фильтрация не выполняется, и когда флажок установлен, я получаю результаты, которые прошли модерацию.

вот моя попытка,

<input type="checkbox" v-model="showUnModerated" /> Show only unmoderated listings</label>

My код фильтра,

return this.listing.listings.filter(listing => (this.showUnModerated ? 1 : 0) === listing.moderated);

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Вы можете изменить условие фильтра, чтобы он возвращал все записи, когда флажок пуст (this.showUnModerated имеет значение false).

return this.listing.listings.filter (list => (this.showUnModerated? (1 === list.moderated): true);

0 голосов
/ 18 июня 2020

Вы можете добавить массив измененного списка и v-model с помощью вашего флажка. Таким образом вы можете получить измененный список.

new Vue({
  el: '#app',
  data: {
    showChecked: []
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id='app'>
  <input type="checkbox" value='1' v-model="showChecked" /> element 1</label> <br>
  <input type="checkbox" value='2' v-model="showChecked" /> element 2</label>
  <br> {{showChecked}}
</div>
...