Cocos creator dragonbones 换肤不生效

playAnimationByUserId(name: string, animation: string, times: number = 0, callback?: Function) {
    this.ske.removeEventListener(dragonBones.EventObject.START);
    this.ske.removeEventListener(dragonBones.EventObject.COMPLETE);

    const mod = +this.id % playerNamesArray.length;
    const roleName = playerNamesArray[mod];
    const boneDisplayObj = playerNamesBoneIndexMap[name];
    if (!boneDisplayObj) {
        console.warn(`没有找到对应骨骼数据:name:${name} animation: ${animation}`);
        return;
    }

    const replaceTargetSlot = () => {
        const armature = this.ske.armature() as dragonBones.Armature;

        const slotKeys = Object.keys(boneDisplayObj);

        for (let i = 0, len = slotKeys.length; i < len; i++) {
            const key = slotKeys[i];
            let slot = armature.getSlot(key);
            slot.displayIndex = boneDisplayObj[key];
        }

    }
    replaceTargetSlot();
    this.ske.playAnimation(animation, times);
    this.ske.addEventListener(dragonBones.EventObject.START, replaceTargetSlot);
    if (times == 0) {
        this.ske.addEventListener(dragonBones.EventObject.COMPLETE, replaceTargetSlot);
    } else {
        return new Promise((resolve, reject) => {
            this.ske.addEventListener(dragonBones.EventObject.COMPLETE, () => {
                this.ske.removeEventListener(dragonBones.EventObject.COMPLETE);
                resolve(null);
                callback && callback();
            });
        })
    }
} 这个换肤为什么没有生效呢,我是在动画开始播放之前换了一次,播放结束之后又换了一次,这个动画是通过插槽控制显示和隐藏的,REALTIME模式下不成功,PRIVATE_CACHE模式下,会闪烁,有大佬遇到这个问题没

版本2.4.8