How to dynamically change the choices of a dropdown? what am I doing wrong?

I want to create a gradio webui that shows 2 dropdown, β€˜rs_hw’ changes dynamically according to the β€˜rs’ value. what am i doing wrong here?

import gradio as gr

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

def rs_change(rs):
    return homeworks[rs]

with gr.Blocks() as app:

    rs = gr.Dropdown(choices=languages)
    rs_hw = gr.Dropdown()

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

    app.launch()

rs_hw keeps always empty

hi @carlositself

Here’s how you update it based on the changes

import gradio as gr

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

def rs_change(rs):
    return gr.update(choices=homeworks[rs], value=None)

with gr.Blocks() as app:

    rs = gr.Dropdown(choices=languages, value='english')
    rs_hw = gr.Dropdown(choices=homeworks['english'], interactive=True)

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

app.launch()