Миксина перестает работать после удаления элемента через историю

Есть доска (не канвас) с элементами текст, фигуры итд. Реализовываю функционал undo/redo (vuex не используется, обычный стек). Проблема возникает когда через историю удаляю объект(фигуру) с доски. К компоненту настроек фигуры подключена миксина, в которой и происходят изменения объекта (заливка, размер итд). Короче эта миксина не меняет свойства объекта фигуры, emit-ит события наверх, но слушатель перестает работать, в общем весь механизм управления свойствами объекта перестает работать. Если выводить объект в миксине, то выводится с измененным свойством, а во vue консоли, смотрю пропсы - без изменений. Подскажите пожалуйста, в чем может быть проблема, буду очень признательна. Миксина как-будто работает со старым объектом, а не новым, переданным props

<div class="card--settings__row card--settings__row-inline">
 <color-picker
   :color="selectedElement.fill"
   @change="setProperty('fill', $event)"
 ></color-picker>
</div>

Подключение миксины:

import changePropertyFunctions from "../mixins/changePropertyFunctions";

...

mixins: [changePropertyFunctions],


setProperty(propName, value){
const isRestore = arguments[3] || false;
            const oldValues = Object.assign({}, this.selectedElement);
            !isRestore &&
                this.$editor.getHistory().addAction("changeProp", {
                    next: { prop: propName, value },
                    prev: {
                        prop: propName,
                        value: this.selectedElement[propName]
                            ? oldValues[propName]
                            : ""
                    }
                });
if (
                [
                    "fill",
                    "opacity",
                    "fontSize",
                ].includes(propName)
            ){
                for (let key in this.selectedElement) {
                    if (key == propName) {
                        this.selectedElement[key] = value;
                    }
                }
                if (propName === "fill") {
                    this.selectedElement.fill = value;
                    this.$emit("changeFill", {
                        id: this.selectedElement.id,
                        value: value
                    });
                }
                return this.$editor[
                    "change" +
                        propName.charAt(0).toUpperCase() +
                        propName.slice(1)
                ](value);
            }
}

Ответы (0 шт):