Vuejs возвращает данные из компонента в Laravel

#javascript #php #html #laravel #vue.js

#javascript #php #HTML #laravel #vue.js

Вопрос:

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

До сих пор продукты можно искать, добавлять в массив «продукты» с помощью кнопки «добавить», и они могут видеть данные внутри продуктов. Они также могут удалять продукты, которые им не нужны.

Моя проблема в том, что я пытаюсь отправить данные из массива «продукты» с родительской формой. Компонент поиска расположен как в форме, так и в списке. Но я не знаю, как бы я отправил массив с формой.

Мне не нужно отправлять весь объект product, а только идентификатор, который будет использоваться для связи продуктов с заказом.

Вот где находится компонент:

 <div class="uk-margin" id="search">
    <label for="Search" class="uk-form-label">Search products to add</label>
    <search input="ess"></search>
</div>
 

Вот данные компонента vuejs:

 export default {
    data() {
        return {
            keywords: null,
            results: [],
            products: []
        };
    },
    watch: {
        keywords (after, before) {
            this.fetch();
        }
    },
    methods: {
        fetch() {
            axios.get('/search', { params: { keywords: this.keywords } })
                .then(response => this.results = response.data)
                .catch(error => {});
        },
        addProduct (product) {
            let duplicate = false;
            this.products.forEach((item, index) => {
                if (item.ID === product.ID) {
                    duplicate = true;
                }
            });
            if (!duplicate) {
                this.products.push(product);
            }

        },
        removeProduct (product) {
            Vue.delete(this.products, product);
        }
    }
}
 

Все работает нормально, но мой вопрос.. Как я могу передать данные обратно в html / laravel, чтобы использовать их при отправке данных на контроллер. Мне нужно только отправить массив «продукты», я пытался использовать ввод с данными, но он не работает. Кто-нибудь знает, как я мог бы это сделать, или это лучший способ сделать это, используя JavaScript и добавив их в массив, найдя все отображаемые элементы?

Большое спасибо.