简体   繁体   English

React Bootstrap:在组件上动态设置道具

[英]React Bootstrap: set props on component dynamically

Due to a rather elaborate scenario I won't explain, I need to be able to set the placement prop on a React Bootstrap component dynamically when the user initiates the trigger. 由于我不解释一个非常复杂的场景,我需要能够在用户启动触发器时动态地在React Bootstrap组件上设置placement道具。 I was thinking something like this: 我在想这样的事情:

<OverlayTrigger
    ref="trigger"
    onEnter={onEnterFunc}
    placement="bottom"
    overlay={<Popover>...</Popover>}>
   <span>html</span>
</OverlayTrigger>

Then in onEnterFunc somehow dynamically change the placement value. 然后在onEnterFunc中以某种方式动态更改放置值。 Anyone know if that's possible? 有人知道这是否可能吗?

You can store the current value of placement in a parent component's state. 您可以将当前placement值存储在父组件的状态中。 You can specify an initial value in the component's constructor, and you can update this value by calling setState in your onEnterFunc function. 您可以在组件的构造函数中指定一个初始值,并且可以通过在onEnterFunc函数中调用setState来更新此值。 Your updated markup/render function will look like this: 您更新的标记/渲染功能将如下所示:

render() {
    return (
       <OverlayTrigger
           ref="trigger"
           onEnter={() => this.onEnterFunc()}
           placement={this.state.placement}
           overlay={<Popover>...</Popover>}>
           <span>html</span>
        </OverlayTrigger>
    );
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM