Size: a a a

2020 September 06

MZ

Misha Zamkevich in Svelte [svelt]
Arushwl
У меня ещё идейка появилась - записать для каждого элемента его позицию от нулевого 0 += размер следующего. И прям такое - items[index].position

Как думаешь?
А как ты потом к этому будешь ресайз прикручивать? Пересчитывать?
источник

ИБ

Ильдар Багаманшин... in Svelte [svelt]
Всем привет!
В стейте компонента меня есть объект, содержащий инфу о валидности инпутов в форме:

validFields = {
   name: false,
   phone: false
}

Подскажите плиз, как мне сделать так, чтобы как только все поля в этом объекте станут true, раздизейблить кнопку submit в форме?
источник

A

Arushwl in Svelte [svelt]
Misha Zamkevich
А как ты потом к этому будешь ресайз прикручивать? Пересчитывать?
На ресайз врапера щас уже пересчитывается
источник

КС

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

validFields = {
   name: false,
   phone: false
}

Подскажите плиз, как мне сделать так, чтобы как только все поля в этом объекте станут true, раздизейблить кнопку submit в форме?
Можно через фор луп, типа for let k of Object.keys(validFields)
if !validFields[k] return false
return true
Если там много
Оберни в функцию и вызывай на кнопке

disabled={func} и объект в параметры передай, чтобы реактивность была
источник

MZ

Misha Zamkevich in Svelte [svelt]
Arushwl
На ресайз врапера щас уже пересчитывается
А ресайза слайдов у тебя ещё нет?
источник

A

Arushwl in Svelte [svelt]
Всмысле?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Arushwl
Я имею ввиду, как и при каких условиях обнулять current?
На каждый move
источник

A

Arushwl in Svelte [svelt]
Кирилл Спасибович
На каждый move
current = 0 ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Arushwl
current = 0 ?
Ага
источник

A

Arushwl in Svelte [svelt]
Тут выходит новая переменная - activeIndex - она всегда с нуля стартует. А у меня есть index - который привязан к реальному индексу элемента.
источник

ИБ

Ильдар Багаманшин... in Svelte [svelt]
Кирилл Спасибович
Можно через фор луп, типа for let k of Object.keys(validFields)
if !validFields[k] return false
return true
Если там много
Оберни в функцию и вызывай на кнопке

disabled={func} и объект в параметры передай, чтобы реактивность была
а как сделать, чтобы функция фор луп сама вызывалась после каждого обновления поля в объекте?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Ильдар Багаманшин
а как сделать, чтобы функция фор луп сама вызывалась после каждого обновления поля в объекте?
disabled={() => func(validFields)}
источник

ИБ

Ильдар Багаманшин... in Svelte [svelt]
отрабатывает только 1 раз и все
источник

КС

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

КС

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

ИБ

Ильдар Багаманшин... in Svelte [svelt]
validFields = writable({
   name: false,
   phone: false
})

validFields.subscribe(checkBtnActive)
источник

ИБ

Ильдар Багаманшин... in Svelte [svelt]
через стор получилось
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Ильдар Багаманшин
Всем привет!
В стейте компонента меня есть объект, содержащий инфу о валидности инпутов в форме:

validFields = {
   name: false,
   phone: false
}

Подскажите плиз, как мне сделать так, чтобы как только все поля в этом объекте станут true, раздизейблить кнопку submit в форме?
<button disabled={!checkVakidity(validFields)}>
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Это с помощью хелпера
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Можно стейтом, чтобы шаблон не захламлять:

$: isValid = Object.values(validFields).every(val => val);
источник