Как я могу отсортировать хранилище массивов svelte? - PullRequest
1 голос
/ 23 сентября 2019

Я делаю приложение Todo с магазином.Сейчас все хорошо, но я хочу отсортировать товары в магазине или показать их в порядке.Хранилище представляет собой массив, и все элементы в хранилище - это объекты с ключами: текст, идентификатор, редактирование, строка, флажок.Так что «checkboxed» - это логическое значение, и я хочу, чтобы все объекты «checkboxed: true» были первыми в массиве.как я мог это сделать?Или, может быть: как я могу отсортировать элементы в svelte-store-array в целом?спасибо !!!!

ссылка на приложение

Ответы [ 2 ]

0 голосов
/ 24 сентября 2019

другое решение: добавить это к компоненту TodoLIst:

$:sortedTodos=$customTodos
    .sort((a,b)=>b.checkboxed-a.checkboxed)
    .sort((a,b)=>a.line-b.line)

и работать с переменной sortedTodos в цикле "each".

0 голосов
/ 23 сентября 2019

Вы можете создать магазин derived, например:

const sorted = derived(todos_, todos => sortBy(todos, 'checkboxed'))

Извлекает магазин из одного или нескольких других магазинов.Всякий раз, когда эти зависимости изменяются, выполняется обратный вызов.

( Пример )

...