Добрый день всем. Представьте, что у нас есть родительский и дочерний компоненты, т.е. PracticePersonLists
(parent) -> BCardHeaderWithButton
(child). Теперь дочерний элемент состоит из vue-multiselect
, например, где leftAction
- это объект Object prop
<!-- Multiselect -->
<multiselect
v-if="leftAction.type === 'options'"
v-model="leftAction.model"
:options="leftAction.options"
:placeholder="leftAction.placeholder"
:searchable="true"
:show-labels="true"
:allow-empty="false"
/>
. Родитель отображает дочернего элемента следующим образом:
<b-card-header-with-button
v-if="(isHR && (person.md_current === 1))"
card-title="Events"
:left-action="eventsLeftAction"
:right-action="eventsRightAction"
@rightActionClick="addEvent()"
/>
eventsLeftAction
является Свойство data внутри родительского элемента выглядит следующим образом:
eventsLeftAction: {
show: true,
type: 'options',
options: this.eventsFilters,
model: this.compEventsLeftActionModel,
placeholder: 'Select Event'
}
eventsFilters
создается в created
хуке родительского элемента
this.eventsFilters = await buildNonBackEndFilterOptions(this.events, 'eventHead', 'eventGroup')
, но проблема в том, что при загрузке страницы дочерний компонент не может найти свой leftAction.options
, поэтому он возвращается как неопределенный. Мы думаем, что это связано с тем фактом, что дочерние компоненты отображаются перед родительским, поэтому он ищет данные, которых еще нет ... обычно мы преодолеваем это, устанавливая логическое значение dataLoaded
и отображая дочерний элемент только в том случае, если логическое значение истинно, но в этом случае оно не работает
Кто-нибудь знает, как решить эту проблему? Спасибо