首页 > 解决方案 > 如何在 backdraftjs 子组件上设置“可见”可观看?

问题描述

看起来可观察的属性“可见”是经过特殊处理的,如果它是假的或未设置的,它实际上会隐藏组件。我正在尝试使用以下内容切换它:

class ShowMessageButton extends Component {                
    showTheInfo() {
        this.secretMsg.visible = true;
    }
    
    bdElements() {
        return e.div(
            {bdAdvise: {click: 'showTheInfo'}},
            'Click Me to see the Secret Message',
            e(SecretMessage, {bdAttach: 'secretMsg'})
        );
    }
}

class SecretMessage extends Component.withWatchables('visible') {
    bdElements() {
        return e.div({}, 'You clicked! The secret message is "abracadabra"')
    }
}

中的代码showTheInfo()是我用来在 SecretMessage 中设置任何其他可观察属性的代码,但它似乎没有改变visible。那是怎么回事?我需要bdReflect在 SecretMessage 中进行某种设置吗?

标签: javascriptbackdraftjs

解决方案


Visible 确实是一个预定义的属性;见https://backdraftjs.org/docs.html#bd-core.classes.Component.visible


推荐阅读