Ниже мой код
<div v-for="namespace in chosenNamespaces" v-bind:key="namespace.id">
<!-- Select the Parameter-->
<select @change="updateParameter($event, namespace.id)" v-model="currParameterValues[namespace.id]">
<option v-for="parameter in getParametersForNamespace(namespace.id)">{{parameter}}</option>
</select>
<!-- Select Property -->
<select @change="updatePropertyType($event, namespace.id)" v-model="currPropertyValues[namespace.id]">
<option v-for="property in getPropertiesForNamespace(namespace.id)">{{property}}</option>
</select>
<!-- Select Item -->
<select v-model="currItemValues[namespace.id]">
<option v-for="item in getItemsForNamespace(namespace.id)">{{item}}</option>
</select>
</div>
methods: {
updateParameter(data, id){
....
this.$set(currParameterValues, id, data,target.value)
this.$set(currPropertyValues, id, someValue)
}
updatePropertyType(data, id){
...
this.$set(currPropertyValues, someThing, val)
}
}
Итак, у меня есть много div, которые зацикливаются по списку массива chosenNamespaces
и создают набор выборок. Теперь я хочу изменить значение второго выбора, т.е. Select for Property
, когда я изменяю значение Select paramater
для этого соответствующего пространства имен, используя метод updateParameter
. Я делаю это с помощью $ set для обновления массива currPropertyValues
. Но я наблюдаю всякий раз, когда я изменяю параметр параметра, обработка занимает некоторое время (4-5 секунд), поскольку, возможно, Vue требуется время, чтобы среагировать на изменение значения массива свойств. Если я просто удаляю $ set updateParameter
, он немедленно отвечает. Как я могу решить эту проблему?
Редактировать Здесь я повторил на скрипке, когда я изменяю значение в раскрывающемся списке, требуется время для отражения: скрипка