сортировка вычисленных значений и обновление вычисленных значений vue - PullRequest
0 голосов
/ 18 июня 2020

В моем приложении vue я получаю JSON из моего API, затем я вычисляю возвращенные данные и сортирую их по одному из его атрибутов, затем я хочу прибегать к нему каждый раз, когда этот атрибут обновляется на стороне клиента я подумал, что будет достаточно добавить к входу `v-model =" tag.weight ", но, видимо, нет? Что я делаю неправильно?

<div class="mt-6" v-if="this.sortedTags">
        <div class="w-full flex justify-between pb-2 border-white">
            <div class="w-1/3 p-4 font-black">Tag</div>
            <div class="p-4 font-black">Active</div>
            <div class="p-4 font-black">Weight</div>
        </div>
        <div class="w-full flex justify-between" v-for="tag in this.sortedTags" :key="tag.id">
            <div class="w-1/3 p-4">{{ tag.tag }}</div>
            <div class="p-4"><input type="checkbox" /></div>
            <div class="p-4"><input type="text" v-model="tag.weight" size="3" class="text-black"/></div>
        </div>
    </div>


computed: {
    ...mapState(['admin']),
    sortedTags() {
        return this.admin.tags.sort(function(a, b) {
            a.weight - b.weight;
        });
    }
}

На что я надеялся: 1) если ввести число в поле веса, которое связано tag.weight, оно будет упорядочено на основе этого ввода и 2) Когда я добавляю новый объект к данным, он прибегает к нему.

1 Ответ

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

Я получил аналогичный результат, когда пропустил return, он даст вам ответ, но повторная сортировка не сработает. Поэтому просто используйте return a.weight - b.weight; вместо простого a.weight - b.weight;

Подробное объяснение: { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...