如何在 rust 草书箱中获取 SelectView 的结果?

问题描述 投票:0回答:0

我对 Rust 比较陌生,我正在使用草书库构建一个带有 SelectView 类型的选择菜单。虽然我无法通过这个问题。

我的代码有一个 main() 函数和一个 setup_selection() 函数。后者启动一个名为 siv 的 CursiveRunnable 实例和一个 SelectView。 SelectView 放在 OnEventView 中,然后放在 LinearLayoutView 中(但根据我的理解不应该相关),然后使用 siv.add_layer(linear_layout) 添加到 siv。最后,siv 线程通过 siv.run() 启动。到目前为止一切正常。

当我想获取选择菜单的结果时,问题就来了。我的 setup_selection() 函数应该返回一个字符串,以便 main 可以进一步使用它。显然,这样做的方法是在设置 SelectView 时使用 set_on_submit() ,并将闭包作为参数。在闭包内,我现在可以访问提交的值,但是,我需要它在闭包之外,所以我可以将它返回给 main()。

我已经尝试寻找解决方案几个小时了,但我被卡住了。一旦提交并返回,我看不出有什么方法可以访问选定的值。

任何帮助表示赞赏。如果我应该详细说明什么,请告诉我。

我尝试使用各种方法(例如 RefCells)从闭包范围中获取值,但我无法让它工作。

multithreading rust scope closures tui
© www.soinside.com 2019 - 2024. All rights reserved.