import gradio as gr def test(value, key_up_data: gr.KeyUpData): input_val = key_up_data.input_value return gr.Dropdown(choices=[f"{input_val} {i}" for i in range(10)]) with gr.Blocks() as demo: d = gr.Dropdown(["abc", "def"], allow_custom_value=True) t = gr.JSON() d.key_up(test, d, d, show_progress="hidden") if __name__ == "__main__": demo.launch()