Могу ли я создать сравнительный блок для каждого блока в Svelte, чтобы сохранить свой индекс?

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

{#each answers as answer, i}
    {#if poll.uuid == answer.pollid}
        <div class = "answer" on:click = {vote(answer.uuid)}>
            <div class = "persentage" style = "width: {getprosent(poll.uuid, i)}%"></div>
            <span>{answer.answer}</span>
            <div class = "votes">
            <span>{votes.filter(vote => vote.pollid == answer.uuid).length}</span>  
            </div>
        </div>
    {/if}
{/each}

Есть ли способ сравнить, как показано выше, без получения индекса для всего массива?

🤔 А знаете ли вы, что...
Svelte позволяет работать с событиями и обработкой пользовательского ввода легко и интуитивно.


23
1

Ответ:

Вы можете фильтровать answers, например:

const pollAnswers = answers.filter(answer => poll.uuid == answer.pollid)

{#each pollAnswers as answer, i}