Как исправить раскрывающийся список выбора динамической категории ввода с помощью ajax/json в vuejs

Я разрабатываю шаблон выбора категории с проходом в предыдущем выборе. Но выбор работает только при «первой загрузке», если я изменяю выбор, поэтому получаю ошибку поведения. (это отменяет выбор родителя)

Мне нужен "свет".

Это ссылка проекта https://zimeonline.com.br

Я пытаюсь изменить объект vue data() в каждом ajax в моих компонентах.

<template>
    <div>
        <select @change = "category()" v-model = "selectedId" v-bind:key = "option[0].id"  v-for = "option in options" class = "browser-default custom-select">
          <option  v-bind:value = "op.id" v-bind:selected = "op.selected==1" v-bind:key = "op.id" v-for = "op in option">{{op.name}}</option>
        </select>
    </div>
</template>
<script>
    export default {
        name: "ProductFormCategory",
        data() {
            return {
                options: {},
                selectedId:''
            }
        },
        created() {
            let vm = this;
            vm.category();
        },
        methods: {
            async category() {
                let vm = this;
                await vm.$http.get('category/'+vm.selectedId).then(function (response) {
                    vm.options = response.data;
                }).catch(function () {
                });
               vm.$forceUpdate();
            },
        }
    }
</script>

<style scoped>
    .browser-default{
        margin-bottom: 10px !important;
    }
</style>
this URL list ALL FATHER categorys
https://api.zimeonline.com.br/api/category
this URL list ALL CHILDREN categorys
https://api.zimeonline.com.br/api/category/some_id(from father category)
exemple: https://api.zimeonline.com.br/api/category/5

Then 5 is ID from  https://api.zimeonline.com.br/api/category

здесь пример реального выбора кода https://zimeonline.com.br (немного медленно в первый раз)

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
173
1

Ответы 1

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

  • Почему вы поставили v-for и в select, и в option?
  • В первом цикле вы привязываете ключ к option[0] вместо options[0] или option

Также совет: вы можете использовать vm.$set для создания реактивных переменных.

Другие вопросы по теме