Мне нужно синхронизировать Объект между родительским и дочерним компонентами в Vue с помощью ввода <select>
, но не могу получить правильный синтаксис.
компонент:
<template>
<div>
<select :value="condition" @change="$emit('update:condition', $event.target.value)">
<option v-for="variable in variable_options" :value="variable" :key="genUniqueKey(variable)">{{ variable.name }}</option>
</select>
</div>
</template>
<script>
module.exports = {
props: ['variable_options', 'condition']
}
</script>
Мне нужно что-то вроде стандартного .sync
модификатора, но, похоже, он не работает на выбранных входах с объектами:
<variable-select :variable_options="application_questions" :condition.sync="rule.condition">
</variable-select>
condition
- это объект с id
, name
и type
атрибуты, полученные из объектов variable
в массиве variable_options
.Я попытался сделать initial_condition
опору, а затем сделать v-model='selected_condition'
на входе select
, как рекомендуют документы, но я не знаю, как использовать это с модификатором .sync
.Выполнение :initial_condition.sync="rule.condition"
не правильно.
Есть ли способ передать атрибуты объекта из выбранной опции в дочерний компонент и реактивно обновить родительский компонент?Атрибуты объекта данных:
rule: {
condition: {
id: '',
name: '',
type: ''
}
}