Size: a a a

2020 October 02

MZ

Misha Zamkevich in Svelte [svelt]
источник

/

/dev/null in Svelte [svelt]
Умер
источник

D

Dycops Lynn in Svelte [svelt]
Сравниваем языки программирования наглядно
источник

КС

Кирилл Спасибович... in Svelte [svelt]
@PaulMaly

по твоему мнению это повод для создания компонента?

<script>
 export let change = () => {};
 export let label = '';
 export let options = [];
 export let value;
</script>

{#if label}
 <label>
   <span>{label}</span>
   <select bind:value on:change={change}>
     {#each options as option}
       <option value={option.id}>
         {option.name}
       </option>
     {/each}
   </select>
 </label>
{:else}
 <select bind:value on:change={change}>
   {#each options as option}
     <option value={option.id}>
       {option.name}
     </option>
   {/each}
 </select>
{/if}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
@PaulMaly

по твоему мнению это повод для создания компонента?

<script>
 export let change = () => {};
 export let label = '';
 export let options = [];
 export let value;
</script>

{#if label}
 <label>
   <span>{label}</span>
   <select bind:value on:change={change}>
     {#each options as option}
       <option value={option.id}>
         {option.name}
       </option>
     {/each}
   </select>
 </label>
{:else}
 <select bind:value on:change={change}>
   {#each options as option}
     <option value={option.id}>
       {option.name}
     </option>
   {/each}
 </select>
{/if}
конечно, но я бы форвардил on:change вместо коллбека
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Pavel 🦇 Malyshev
конечно, но я бы форвардил on:change вместо коллбека
а здесь я подумал что мог бы обработку промиса и навешивание классов организовать в use функции

https://svelte.dev/repl/90ac3d2588644eedb81bde4c24b11051 см. PromiseButton

а ты как считаешь, имеет ли право на жизнь такой "компонент" ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
я в общем всё думаю об идее минимизации использования мини-компонентов и глобал стилей в рут ноде виджета/приложения навешаных на те же

button:not(.c) к примеру, чтобы была возможность с нуля написать стили для другой кнопки воткнув в неё класс c или что-то вроде этого

а так в основном писать просто
<button on:click={function} class="some-adj-class">press me</button>
источник

КС

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

<script>
 export let label = '';
 export let placeholder = '';
 export let value = null;
 export let type = 'text';

 function handleInput({target: t}) {
   value = type === 'number' ? +t.value : t.value;
 }
</script>

{#if label}
 <label class="input">
   <span>{label}</span
   ><input {type} {value} on:input={handleInput} on:input />
 </label>
{:else}
 <input
   class="input"
   {type}
   {placeholder}
   {value}
   on:input={handleInput}
   on:input
 />
{/if}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
а здесь я подумал что мог бы обработку промиса и навешивание классов организовать в use функции

https://svelte.dev/repl/90ac3d2588644eedb81bde4c24b11051 см. PromiseButton

а ты как считаешь, имеет ли право на жизнь такой "компонент" ?
я бы наверное по-другому организовал, но в целом если работает и код тебе понятен, то имеет право на жизнь любой компонент ))
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Pavel 🦇 Malyshev
я бы наверное по-другому организовал, но в целом если работает и код тебе понятен, то имеет право на жизнь любой компонент ))
по-другому это как?)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
по-другому это как?)
может на досуге напишу с теми же силями
источник

КС

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
или вот ещё такой компонент?

<script>
 export let label = '';
 export let placeholder = '';
 export let value = null;
 export let type = 'text';

 function handleInput({target: t}) {
   value = type === 'number' ? +t.value : t.value;
 }
</script>

{#if label}
 <label class="input">
   <span>{label}</span
   ><input {type} {value} on:input={handleInput} on:input />
 </label>
{:else}
 <input
   class="input"
   {type}
   {placeholder}
   {value}
   on:input={handleInput}
   on:input
 />
{/if}
для аттрибутов я бы юзал сразу restProps + 2way биндинги для значения. тут один инпут, поэтому 2way вполне оправдан
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
понятно что имеет право на жизнь любой компонент, но я тут пытаюсь выяснить как не городить тоже самое, что привычно в мире реакта например
ща пока занят, может позднее перепишу по-своему, а ты уж там сам посмотришь лучше или хуже для тбея
источник

КС

Кирилл Спасибович... in Svelte [svelt]
м.. но с биндами невозможно вроде text/number type переключать ?
источник

КС

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
м.. но с биндами невозможно вроде text/number type переключать ?
а ну да кстати, верно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
чет не обратил внимание на type
источник

IG

Ilya Gladko in Svelte [svelt]
GNU/Vsevolod
Ну как, есть успехи?)
Не победил. Но обнаружил что у макбука 12го года есть акселерометр
источник

AP

Alexander Ponomarev in Svelte [svelt]
Ilya Gladko
Не победил. Но обнаружил что у макбука 12го года есть акселерометр
может это прайваси апловский и надо пермишенов попросить =)
источник