Size: a a a

2020 December 16

A

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

AP

Alexander Ponomarev in Svelte [svelt]
update?: (parameters: any) => void, момент вызова этой части больше интересует
источник

AP

Alexander Ponomarev in Svelte [svelt]
An action can have a parameter. If the returned value has an update method, it will be called whenever that parameter changes, immediately after Svelte has applied updates to the markup.
источник

AP

Alexander Ponomarev in Svelte [svelt]
то есть будь у меня <Child use:focus={value} showInput={value}/> то я так понимаю все бы сработало
источник

A

Arushwl in Svelte [svelt]
Тока на элементе
источник

AP

Alexander Ponomarev in Svelte [svelt]
я объясняю зачем нужен экшен на компоненте =)
источник

DK

Dan Kozlov in Svelte [svelt]
источник

DK

Dan Kozlov in Svelte [svelt]
Я правильно понял ТЗ или нет?
источник

AP

Alexander Ponomarev in Svelte [svelt]
да вроде бы
источник

AP

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

DK

Dan Kozlov in Svelte [svelt]
Но для справки я бы так не делал. Это вывод из компонента наверх практически императивного доступа к дому. Коммуникацию надо бы строить иначе, а то родитель слишком много понимает о нутрячке ребёнка. Мне кажется, достаточно просто вниз скидывать проп shouldFocusOnMount и в компоненте делать это через экшены на дом-узлах.
Такое решение задачи смахивает на реакт-путь, когда мы максимум логики уводим в родителя, а дети у нас глупенькие. Мне такое некомфортно писать обычно.
источник

DK

Dan Kozlov in Svelte [svelt]
> достаточно просто вниз скидывать проп
Ну или как там требуется по логике, я так и не разобрался.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Dan Kozlov
Но для справки я бы так не делал. Это вывод из компонента наверх практически императивного доступа к дому. Коммуникацию надо бы строить иначе, а то родитель слишком много понимает о нутрячке ребёнка. Мне кажется, достаточно просто вниз скидывать проп shouldFocusOnMount и в компоненте делать это через экшены на дом-узлах.
Такое решение задачи смахивает на реакт-путь, когда мы максимум логики уводим в родителя, а дети у нас глупенькие. Мне такое некомфортно писать обычно.
есть кейсы когда твое предложение работает, но есть кейсы когда невозможно передать команду пропсом.

типа мне нужно два раза подскролить к одному и тому же элементу в виртуальном списке. Я не смогу это передать пропсом, мне это нужно именно императивно.
источник

A

Arushwl in Svelte [svelt]
ref?.focus() - а это как так?
источник

DK

Dan Kozlov in Svelte [svelt]
Arushwl
ref?.focus() - а это как так?
optional chaining
источник

AS

Alexey Solovyov in Svelte [svelt]
Dan Kozlov
optional chaining
А если null - все равно же свалится..
источник

AP

Alexander Ponomarev in Svelte [svelt]
Alexey Solovyov
А если null - все равно же свалится..
неа, выше тоже optional chaining $: show && focus?.()
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
есть кейсы когда твое предложение работает, но есть кейсы когда невозможно передать команду пропсом.

типа мне нужно два раза подскролить к одному и тому же элементу в виртуальном списке. Я не смогу это передать пропсом, мне это нужно именно императивно.
Получится, конечно! У тебя только вместо focus = () => ref?.focus() будет scrollTo = top => ref?.scrollTo(top). Вызывай императивно хоть мульён раз же.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Dan Kozlov
Получится, конечно! У тебя только вместо focus = () => ref?.focus() будет scrollTo = top => ref?.scrollTo(top). Вызывай императивно хоть мульён раз же.
я имел ввиду твое предложение с shouldFocusOnMount =)
источник

DK

Dan Kozlov in Svelte [svelt]
А, понял
источник