Для этой задачи подходит компонент со слотом и одним свойством - show. все остальное - запихивается извне в слот-содержимое модального окна.
Ну а вообще - если хочется динамически добавлять реактивные свойства - то для этого есть
https://ru.vuejs.org/v2/api/#Vue-set
для простоты можно еще на один уровень спуститься и добавлять свойства не корневого объекта, а какого-нибудь его свойства, типа
data() {
return {
show: false,
editableObject: {}
}
}
но, повторюсь, для модального окна с произвольным содержимым этого не нужно, нужно почитать про
слоты