You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gradio中Dropdown动态修改选项失效,rs_hw始终为空如何解决?

Gradio动态Dropdown选项不显示问题解决

你的代码问题在于直接返回选项列表无法正确更新Dropdown组件的选项。Gradio中要更新组件属性,需要通过gr.update()方法明确指定要修改的参数。

修复方法

修改rs_change函数,返回gr.update(choices=目标选项列表),让Gradio知道要更新Dropdown的choices属性:

import gradio as gr

languages = ['spanish', 'english'] 
homeworks = {'spanish': ['hola', 'bien', 'gracias'], 'english': ['hello', 'good', 'thank you']}

def rs_change(rs):
    # 用gr.update指定要更新的choices属性
    return gr.update(choices=homeworks[rs])

with gr.Blocks() as app:
    rs = gr.Dropdown(choices=languages, label="语言")
    rs_hw = gr.Dropdown(label="作业选项")

    rs.change(fn=rs_change, inputs=[rs], outputs=[rs_hw])

    app.launch()

额外优化(可选)

如果希望页面加载时就显示对应选项,可以给第一个Dropdown设置默认值:

rs = gr.Dropdown(choices=languages, label="语言", value=languages[0])

这样页面启动时,rs_hw会自动加载对应语言的选项,不用手动选择后才显示。

内容的提问来源于stack exchange,提问作者Procrastinator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 21:52:12