Size: a a a

Vue.js Russian Developers Community

2021 January 14

E

Eugene in Vue.js Russian Developers Community
Миша
Подскажите пожалуйста, как правильно реализовать, мне при клике на кнопку нужно передать к примеру поле editing:true в стейт, но я не понимаю как это можно сделать
Заводишь в стейте поле editing.
По клику вызываешь
action
, а в нагрузку передаешь свое значение(
true
), в своем
action
вызываешь мутацию, где меняешь свою переменную в стейте
источник

NS

Nataliia Shyianovska in Vue.js Russian Developers Community
SeMax
Всем привет.
Есть массив таких данных:
{ name: 'sofatwoplaces', title: 'Два посадочных места', quanity: 0, svg: 'twoplaces', priceaqua: 2000, pricedry: 3000, dry: false, style: '', classimg: 'mb-2'},

Этот массив отрисовывается через v-for
Есть чекбокс который меняет значение dry на true и обратно
Количество(quanity) меняется через + и - на сайте, скрин приложу

Вопрос в чём:
пользователь на сайте выбирает нужные ему позиции, меняя quanity.
Мне же нужно после отправки формы проверить какие позиции он выбрал 1. (по кол-ву quanity) 2. (отследить в каком состоянии dry true или false)
Не могу понять, как я должен перебрать массив, по нужным мне условиям выбрать нужное?
Очень надеюсь на помощь, уже больше 2х дней парюсь
array.filter(item => item.quantity != 0)
источник

NS

Nataliia Shyianovska in Vue.js Russian Developers Community
если у вас нет возможности получить с сервера выбранные айтемы
источник

M

Malik in Vue.js Russian Developers Community
Доброго времени суток ! импортирую не првильно или версий нужно менять?
источник

M

Malik in Vue.js Russian Developers Community
Malik
Доброго времени суток ! импортирую не првильно или версий нужно менять?
источник

NS

Nataliia Shyianovska in Vue.js Russian Developers Community
Nataliia Shyianovska
array.filter(item => item.quantity != 0)
заасайнить это в sellectedItems в дату/store и выводить оттуда в темплейт что нужно
источник

КВ

Королевская Ватрушка... in Vue.js Russian Developers Community
С большой буквы у тебя
источник

SM

Sultan Musaev in Vue.js Russian Developers Community
с маленькой буквы
источник

КВ

Королевская Ватрушка... in Vue.js Russian Developers Community
Мнения разделились ахах
источник

SM

Sultan Musaev in Vue.js Russian Developers Community
Nataliia Shyianovska
если у вас нет возможности получить с сервера выбранные айтемы
А как с сервера получить выбранные айтемы?
источник

КВ

Королевская Ватрушка... in Vue.js Russian Developers Community
import напиши
источник

SM

Sultan Musaev in Vue.js Russian Developers Community
Королевская Ватрушка
Мнения разделились ахах
ахахах
Нет, ты
источник

M

Malik in Vue.js Russian Developers Community
Sultan Musaev
А как с сервера получить выбранные айтемы?
спасибо большое , тупанул я жестко
источник

М

Миша in Vue.js Russian Developers Community
Eugene
Заводишь в стейте поле editing.
По клику вызываешь
action
, а в нагрузку передаешь свое значение(
true
), в своем
action
вызываешь мутацию, где меняешь свою переменную в стейте
Понял, спасибо, а такой вопрос, почему сразу нельзя через мутации поменять стейт?
источник

NS

Nataliia Shyianovska in Vue.js Russian Developers Community
Sultan Musaev
А как с сервера получить выбранные айтемы?
ну я не знаю нужно смотреть ваш бекенд. Похоже на онлайн магазин я без понятия какой у вас там апи :)
источник

SM

Sultan Musaev in Vue.js Russian Developers Community
Nataliia Shyianovska
ну я не знаю нужно смотреть ваш бекенд. Похоже на онлайн магазин я без понятия какой у вас там апи :)
Не, я не с ним)
Там просто видно что надо делать заказ на чистку что ли.
С сервера получить какие то отмеченные данные вне логики по моему, там онли заявку оставить, т.е как ты и говорила массив какой нибудь selectedItem = [{ dry: try, quantity: 10, ...item}]
источник

E

Eugene in Vue.js Russian Developers Community
Миша
Понял, спасибо, а такой вопрос, почему сразу нельзя через мутации поменять стейт?
В теории можешь, но ты должен помнить что мутации должны быть только синхронными.
Я советую всегда делать через action
источник

NS

Nataliia Shyianovska in Vue.js Russian Developers Community
Sultan Musaev
Не, я не с ним)
Там просто видно что надо делать заказ на чистку что ли.
С сервера получить какие то отмеченные данные вне логики по моему, там онли заявку оставить, т.е как ты и говорила массив какой нибудь selectedItem = [{ dry: try, quantity: 10, ...item}]
сделайте computed и там фильтруйте по quantity. Если при отправке перезагрузка и данные теряются  то local starage вам в помощь
источник

SM

Sultan Musaev in Vue.js Russian Developers Community
Nataliia Shyianovska
сделайте computed и там фильтруйте по quantity. Если при отправке перезагрузка и данные теряются  то local starage вам в помощь
😂
Еще раз, я не с ним)
источник

М

Миша in Vue.js Russian Developers Community
Eugene
В теории можешь, но ты должен помнить что мутации должны быть только синхронными.
Я советую всегда делать через action
Я постоянно это вижу в документации, но еще плох понимаю что такое синхронные операции, но буду помнить это
источник