2016-03-11 3 views
0

Из-за довольно сложного сценария я не буду объяснять, мне нужно будет динамически устанавливать опору для компонента React Bootstrap, когда пользователь инициирует триггер. Я думал примерно следующее:React Bootstrap: динамически настраивать реквизиты на компоненте

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

Затем в onEnterFunc динамически изменяют значение места размещения. Кто-нибудь знает, возможно ли это?

ответ

2

Вы можете сохранить текущее значение placement в состоянии родительского компонента. Вы можете указать начальное значение в конструкторе компонента, и вы можете обновить это значение, вызвав setState в своей функции onEnterFunc. Ваша обновленная функция разметки/рендеринга будет выглядеть так:

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

Yegads. Полностью пропустил это. Оценил! Работает как шарм. : D –

Смежные вопросы