Size: a a a

2021 March 11

PM

Pavel 🦇 Malyshev in Svelte [svelt]
еще там можно динамические ивенты делать, то есть чтобы имя ивента было переменной
источник

М

Максим in Svelte [svelt]
Ruslan Shakirov
Во втором Vue можно было так <tag v-on="$listeners" />
Точно, сам вспомнил, когда увидел)
источник

RS

Ruslan Shakirov in Svelte [svelt]
В 3-ем аттрибуты и события объединены, если ничего не путаю. Теперь все в $attrs

https://v3.vuejs.org/guide/migration/listeners-removed.html#overview
источник

М

Максим in Svelte [svelt]
Вопрос: свелт нативу очень далеко до реакт натив? )
источник

ВБ

Вячес Билимбаев... in Svelte [svelt]
Только вкатываюсь в свелт. Помогите советом. Есть Компонент1, который содержит 3 Компонента2. Внутри Компонента2 есть инпут. Задача при отображении Компонента1 сделать так, чтобы инпут в первом Компоненте2 получил фокус. Как это правильно/грамотно сделать?
источник

МТ

Марк Танащук... in Svelte [svelt]
Вячес Билимбаев
Только вкатываюсь в свелт. Помогите советом. Есть Компонент1, который содержит 3 Компонента2. Внутри Компонента2 есть инпут. Задача при отображении Компонента1 сделать так, чтобы инпут в первом Компоненте2 получил фокус. Как это правильно/грамотно сделать?
Первому компоненту из родителя передать пропс focusOnMount={true}
И в скрипт теге этого компонента написать:
export let focusOnMount = false;
function focus(node) {
 if(focusOnMount) node.focus()
}
источник

МТ

Марк Танащук... in Svelte [svelt]
И на инпуте использовать use:focus
источник

МТ

Марк Танащук... in Svelte [svelt]
Тогда в тех компонентах где focusOnMount={true} по появлению инпута он будет получать фокус
источник

МТ

Марк Танащук... in Svelte [svelt]
Максим
Вопрос: свелт нативу очень далеко до реакт натив? )
Очень~
источник

ВБ

Вячес Билимбаев... in Svelte [svelt]
Марк Танащук
И на инпуте использовать use:focus
Спасибо большое!
источник

МТ

Марк Танащук... in Svelte [svelt]
Марк Танащук
<script>
 import { onMount } from "svelte";
 let myInput;
 onMount(() => {
   myInput.focus()
 })
</script>

<input bind:this={myInput} />


Я бы сделал это через экшн:

<script>
 const focus = node => node.focus();
</script>

<input use:focus />
Вот пример
источник

TG

Taras Gordienko in Svelte [svelt]
Подскажите плиз, а что происхдит когда я через {@html } добавляю на страницу что-то вроде <script>console.log(1)</script> ? оно его записывает, но почему-то скрипт не отрабатывает. там какой-то санитайзер внутри есть?
источник

AP

Alexander Ponomarev in Svelte [svelt]
потому что скрипт нельзя вставлять разметкой даже в ваниле
источник

TG

Taras Gordienko in Svelte [svelt]
а ну да, это же раньше делали через eval. точно, спасибо
источник

AP

Alexander Ponomarev in Svelte [svelt]
хз кто это делал через эвал =)
источник

EM

E M in Svelte [svelt]
Alexander Ponomarev
хз кто это делал через эвал =)
я делал. примерно в 2005
источник

ВБ

Вячес Билимбаев... in Svelte [svelt]
Марк Танащук
Первому компоненту из родителя передать пропс focusOnMount={true}
И в скрипт теге этого компонента написать:
export let focusOnMount = false;
function focus(node) {
 if(focusOnMount) node.focus()
}
Всё отлично работает. Еще раз спасибо. Сделаю лишь небольшое уточнение. Свелт не дает создать функцию с именем focus, так как это имя уже где-то им занято.
источник

МТ

Марк Танащук... in Svelte [svelt]
Вячес Билимбаев
Всё отлично работает. Еще раз спасибо. Сделаю лишь небольшое уточнение. Свелт не дает создать функцию с именем focus, так как это имя уже где-то им занято.
источник

ВБ

Вячес Билимбаев... in Svelte [svelt]
Посыпаю голову пеплом. Это у меня в компоненте уже есть переменная с таким названием и я почему-то неправильно прочитал подсказку. Прошу прощения.
источник

МТ

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