Size: a a a

2021 March 23

r

r78 in Svelte [svelt]
Беру с сервера json, распарсиваю в html и хочу сохранить в тот json значение, чтобы отдать обратно серверу. Обновил репл
источник

AK

Andrey Katrusha in Svelte [svelt]
Кирилл Спасибович
надо юзать querySelector и value, так как в репле не получится
Не нужно
источник

AK

Andrey Katrusha in Svelte [svelt]
Все можно через байнд решать
источник

КС

Кирилл Спасибович... in Svelte [svelt]
а я откуда знаю что он хотел? он хотел из распаршенного html сохранять введённые данные
источник

КС

Кирилл Спасибович... in Svelte [svelt]
ты разве можешь из распаршеного html байнд сделать ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
понятное дело что так как в репле работать тоже не будет, это не реакт
шаблоны статичны
источник

КС

Кирилл Спасибович... in Svelte [svelt]
если это массив опросов, то выглядеть это будет как-то так

{#each surveys as survey}
 {#if survey.type === 'text'}
   <input bind:value={survey.value} />
 {/if}
{/each}
источник

AK

Andrey Katrusha in Svelte [svelt]
Можно просто сохранять стейт и его передавать
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Andrey Katrusha
Можно просто сохранять стейт и его передавать
давай поподробнее расскажи
источник

r

r78 in Svelte [svelt]
Кирилл Спасибович
если это массив опросов, то выглядеть это будет как-то так

{#each surveys as survey}
 {#if survey.type === 'text'}
   <input bind:value={survey.value} />
 {/if}
{/each}
Скорее всего, так и сделаю. Благодарю
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
если это массив опросов, то выглядеть это будет как-то так

{#each surveys as survey}
 {#if survey.type === 'text'}
   <input bind:value={survey.value} />
 {/if}
{/each}
surveys.filter(survey => survey.type === 'text')
источник

КС

Кирилл Спасибович... in Svelte [svelt]
а если у него есть другие типы, то делать ещё один each ?
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
а если у него есть другие типы, то делать ещё один each ?
То иметь все тот же each и ставить тип в экшне вместо фильтрации
источник

КС

Кирилл Спасибович... in Svelte [svelt]
давай пример завози
источник

МТ

Марк Танащук... in Svelte [svelt]
источник

КС

Кирилл Спасибович... in Svelte [svelt]
лучше уж тогда динамический инпут компонент сделать, а то у тебя числа будут в виде строк
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
лучше уж тогда динамический инпут компонент сделать, а то у тебя числа будут в виде строк
Динамический инпут компонент?

Та и где у инпутов не строковые валью?
источник

DK

Dan Kozlov in Svelte [svelt]
Марк Танащук
Динамический инпут компонент?

Та и где у инпутов не строковые валью?
В числах и датах.
valueAsNumber, valueAsDate
источник

КС

Кирилл Спасибович... in Svelte [svelt]
<script lang="ts">
 export let label = '';
 export let placeholder = '';
 export let value: string | number = '';
 export let type = 'text';

 function handleInput(event: Event): void {
   const { value: inputVal } = event.target as HTMLInputElement;
   if (type === 'number') {
     value = inputVal === '' ? 0 : +inputVal;
   } else {
     value = inputVal;
   }
 }
</script>

{#if label}
 <label class="input {$$restProps.class || ''}">
   <span>{label}</span>
   <input {type} value={value || ''} on:input={handleInput} />
 </label>
{:else}
 <input
   class="input {$$restProps.class || ''}"
   {type}
   {placeholder}
   value={value === 0 ? '' : value}
   on:input={handleInput}
 />
{/if}

<style lang="scss">
 label, input {
   display: block;
 }
</style>
источник

КС

Кирилл Спасибович... in Svelte [svelt]
типа такого
источник