title: Adding widgets dynamically in bokeh
body: <p>I want to add filters dynamically in bokeh, i.e. every time a button is pressed, a new filter is appended. However, the layout gets broken after a new widgets are added: new ones get written over old ones instead of the layout being recomputed. Code example</p>
  
  <pre><code>from bokeh.layouts import row, column
  from bokeh.models.widgets import Button, Select
  from bokeh.io import curdoc
  
  def add_select():
      feature = Select(value='feat', options=["a"])
      dynamic_col.children.append(feature)
  
  b1 = Button(label="Add condition", button_type="success")
  b1.on_click(add_select)
  
  b2 = Button(label="Apply", button_type="success")
  
  dynamic_col = column()
  curdoc().add_root(column(b1, dynamic_col, b2))
  </code></pre>
  
  <p>Layout before clicking "Add" button</p>
  
  <p><a href="https://i.stack.imgur.com/Zp9PX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Zp9PX.png" alt="Layout before clicking &quot;Add&quot; button"></a></p>
  
  <p>Layout after Select widget gets added</p>
  
  <p><a href="https://i.stack.imgur.com/Cf2QM.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Cf2QM.png" alt="Layout after Select widget gets added"></a></p>