Size: a a a

2021 April 08

AL

Alexander L in Svelte [svelt]
ok, понял. Спасибо
источник

МТ

Марк Танащук... in Svelte [svelt]
Один хрен знает как это до конца исправить

Но молчит...
источник
2021 April 09

AP

Alexander Ponomarev in Svelte [svelt]
Кто что думает насчет такой апишки:
// Map.svelte
<script>
import L from 'leaflet';
import {onBindThis, onMount} from 'svelte'

let map =  null;

onMount(() => map = L.map('mapid'));

onBindThis(() => map);
</script>

// App.svelte
<script>
import Map from './Map.svelte';
let map = null;
</script>
<Map bind:this={map}/>
<button on:click={() => map.setView([51.505, -0.09], 13)}>Go to Point</button>

Весь смысл в onBindThis который позволяет напрямую выдать ридонли хендл на апиху и автоматически почистить его на анмаунте.

Текущие export const плохо работают потому что их нельзя присвоить в onMount например, а export let это проперти и в него можно писать снаружи. А bind:this нативный ридонли биндинг и чистится на анмаунте.
источник

DK

Dan Kozlov in Svelte [svelt]
Это как-то не по-свелтовски, мне кажется.
Вроде через промежуточную переменную это можно решить более-менее с let, Паша показывал в прошлый раз, когда эта тема поднималась. Или через функцию-геттер.
Да и возможность извне задавать это значение не вряд ли большая проблема в большинстве проектов.
источник

АЧ

Александр Чумак... in Svelte [svelt]
Михаил, ещё пара вопросов, если позволите
Я хочу добавить возможность фильтрации процессов, но проявляется непонятный мне нюанс с областями видимости:
 Error:
message: "FilterProcess is not defined"
stack: ReferenceError: FilterProcess is not defined
at HTMLInputElement.onkeyup (about:srcdoc:1:1)
Посоветуйте, пожалуйста, ещё совет, как это правильно сделать в Svelte
https://svelte.dev/repl/c9a6f07151104d41b8eb640b3eeee748?version=3.37.0
источник

AI

Aleksey Immũzov in Svelte [svelt]
on:keyup={FilterProcess}
источник

AI

Aleksey Immũzov in Svelte [svelt]
Я не знаю всей истории, но вот что нужно поправить чтобы заработал фильтр.

Читните как работать с директивами элементов:
> https://svelte.dev/docs#Element_directives
источник

AI

Aleksey Immũzov in Svelte [svelt]
> input = document.getElementById("myInput");
^ Так тоже не надо делать.

Вам в FilterProcess упадёт event, в нём target над которым произошло событие. Это и есть ваш input.
источник

АЧ

Александр Чумак... in Svelte [svelt]
Аа, да, точно, спасибо
Теперь функция видна, но фильтрация не работает
Я предполагаю, что дело в "table = document.getElementById("processes");"
Работает ли вообще такой поиск по Id после процессинга Svelte?
источник

AI

Aleksey Immũzov in Svelte [svelt]
У меня фильтрация работает. А на твой вопрос ответ — работает, ты же по ID ищешь, нода будет (может быть, если она будет в доме). Но для этого есть bind:this.
источник

AI

Aleksey Immũzov in Svelte [svelt]
Вот твой пример с фиксами.
источник

АЧ

Александр Чумак... in Svelte [svelt]
Мм, пока сложно мне такое :)
Буду разбираться, спасибо
источник

AI

Aleksey Immũzov in Svelte [svelt]
Прочитай туториалы, там все твои вопросы разбираюсь достаточно подробно. Сейчас ты пытаешься работать с домом напрямую, а так не надо делать, у тебя же всё под рукой 🙂  И элементы, и влияние на шаблон.
источник

АЧ

Александр Чумак... in Svelte [svelt]
Да, я как раз иду по туториалу и параллельно пытаюсь это всё пробовать на своей более-менее практической задаче, чтобы собрать все кусочки в кучу
источник

AI

Aleksey Immũzov in Svelte [svelt]
источник

АЧ

Александр Чумак... in Svelte [svelt]
источник

АЧ

Александр Чумак... in Svelte [svelt]
аа, только фильтрация получается по полному совпадению
пока не напишешь всё длинное имя по памяти - ничего не увидишь :)
источник

AI

Aleksey Immũzov in Svelte [svelt]
Вообще, да, поправил (обнови страницу), но это тебе на факультатив 🙂 Видел что у тебя по всем полям ищется, просто доработай как хочешь функцию фильтрации.
источник

АЧ

Александр Чумак... in Svelte [svelt]
Хорошо, спасибо за науку :)
источник

MA

Murad Abdulaev in Svelte [svelt]
всем привет
источник