art5455
@art5455
Каюсь, задавал тупые вопросы, но господи... с каки

Как оптимизировать управление элементами в списке в Vuex?

С сервера приходят категории вида

{
    id: 1,
    title: "category",
    products: [
        id: 1,
        title: "product",
        subproducts: [
            id: 1,
            title: "subproduct",    
        ]           
    ]       
}

В категории может быть продукты, в продукте - субпродукты.
Как управлять этим через Vuex? Например, локальное добавление продукта будет выглядеть так:

ADD_PRODUCT(state, { categoryName, price, title, subproducts = [] }) {
            let categories = state.categories
            if (!categories) return
            let category = _.find(categories, { title: categoryName })
            if (!category) return
            category.products.push({ price, title, subproducts })
        },

Удаление субпродукта так:

REMOVE_SUBPRODUCT(state, { categoryId, productId, id }) {
            let categories = [...state.categories]
            let category = _.find(categories, { id: categoryId })
            if (!category) return
            let product = _.find(category.products, { id: productId })
            if (!product) return
            _.remove(product.subproducts, { id })
            state.categories = categories
        },

Как можно это сократить и упростить?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы