это хорошая практика, но работает
мне кажется лучше всего результат сделать частью списка вопросов
https://svelte.dev/repl/4b9d1d20d5f44844bbce97db6b5a63a0?version=3.31.2
хм, надо посмотреть, смогу ли я адаптировать это для полной версии
а ну если это как-то сложно, тогда тебе просто надо выставить result в undefined после отправки ивента
там просто разные типы вопросов (радио, чекбоксы, текст) и на них с сервера разный формат данных приходит по идее через ... не должно проблем создать, так как я их разными компонентами сделал и выбираю через <svelte:component>
да понимаю что там все сложнее. тогда по-идее достаточно просто обнулять результат после ивента
ну я просто по событию обнулил состояние инпутов напрямую через dom, оно работает
Переписал атрибут?
через DOM не надо. state-driven же + свелт об этих изменениях не в курсе, поэтому может быть разсинхрон. даже по логике ведь - ты получил значение и переходишь на следующий шаг, значит тебе нужно освободить место для записи нового значения на новом шаге, то есть вернуть result к значению по-умолчанию
input.checked = false input.value = '' и только после dispatch в родителя
Ого ж! Джиквери дривен💪🏻
а result разве не в новом замыкании окажется на следующем шаге?
в каком смысле в новом?
ага
ну в компилированом коде секция script в функцию обернута, разве она не будет вызвана для нового состояния?
Пиши var) шутка
короче тело тега script в свелт компоненте - это не аналог render в реакт, который перевызывается каждый рендер, а аналог конструктора у класса
вот вопрос, а че не прокинуть(биндануть) current в Question.svelte, а использовал событие?
в оригинальной реализации так. видимо есть причины. подозреваю что по событию в топ-компоненте может происходить еще какая-то работа. если же биндить, тогда придется делать реактивную подписку на весь массив и будут лишние срабатывания, которые также нужно будет разруливать.
Обсуждают сегодня