gradio/demo/blocks_plug/run.py
Tasha Upchurch 94c9512df9
the original demo would fail after switching to the 3rd tab once, by … (#2971)
* the original demo would fail after switching to the 3rd tab once, by not returning to it again when directed to.

it appears that somewhere in tabs, that selected is not being updated when a tabitem is selected.

* Changelog + notebooks:

Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>
2023-01-13 13:41:53 -05:00

40 lines
1.2 KiB
Python

import gradio as gr
def change_tab():
return gr.Tabs.update(selected=2)
identity_demo, input_demo, output_demo = gr.Blocks(), gr.Blocks(), gr.Blocks()
with identity_demo:
gr.Interface(lambda x: x, "text", "text")
with input_demo:
t = gr.Textbox(label="Enter your text here")
with gr.Row():
btn = gr.Button("Submit")
clr = gr.Button("Clear")
clr.click(lambda x: "", t, t)
with output_demo:
gr.Textbox("This is a static output")
with gr.Blocks() as demo:
gr.Markdown("Three demos in one!")
with gr.Tabs(selected=1) as tabs:
with gr.TabItem("Text Identity", id=0) as tab0:
tab0.select(lambda: gr.Tabs.update(selected=0), None, tabs)
identity_demo.render()
with gr.TabItem("Text Input", id=1) as tab1:
tab1.select(lambda: gr.Tabs.update(selected=1), None, tabs)
input_demo.render()
with gr.TabItem("Text Static", id=2) as tab2:
tab2.select(lambda: gr.Tabs.update(selected=2), None, tabs)
output_demo.render()
btn = gr.Button("Change tab")
btn.click(inputs=None, outputs=tabs, fn=change_tab)
if __name__ == "__main__":
demo.launch()