У меня следующая проблема с привязкой автозаполнения.
Я делаю следующее в родительском компоненте.
<MultiSelectBox
:items="myItemsInParentComp"
:selections="mySelectionsInParentComp"
/>
Я делаю этот фрагмент в созданном мною подкомпоненте (этот подкомпонент содержит другие элементы управления).
<!-- This is part of MultiSelectBox -->
<v-autocomplete
v-model="selections"
:items="items"
:placeholder="searchBoxTitle"
multiple
dense
hide-no-data
prepend-inner-icon="search"
/>
</v-flex>
</v-layout>
</div>
</template>
<script>
export default {
props: {
items: {
type: Array,
default: () => []
},
selections: {
type: Array,
default: () => []
},
Похоже, что переплет правильно на поверхности. Например, если я манипулирую родительским mySelectionsInParentComp, подкомпонент обновляется очень хорошо. Однако, когда я выбираю или отменяю выбор элемента в списке автозаполнения, родительский список не обновляется, он только обновляет локальное свойство «выборы». Я могу получить обновление GUI, в котором используется локальное свойство "selections", но родительская привязка mySelectionsInParentComp к свойству все еще имеет старые значения.
Мне кажется, когда я выбираю элемент, он выполняет следующее.
props.selections = new list of selections
Таким образом, он не синхронизирует c привязку между родительским элементом и подчиненным компонентом.
вместо удаления элемента, подобного
props.selections.splice(selectedIndex, 1)
или добавление элемента типа
props.selections.push(props.items[selectedIndex])
Что я сделал не так и как это исправить?