问题标签 [shinymodules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
68 浏览

shinymodules - 允许闪亮模块参数为 NULL 或反应性的推荐方法?

我有一个模块,它的参数传递给模块内的另一个函数(fun1)。此功能允许默认为 NULL 以跳过过滤。 是否有推荐的方法允许模块参数为 NULL 或响应式?

我尝试过的三种方法是(似乎都有效):

  1. 将默认模块参数设置为:reactive({NULL}) 而不是 NULL。
    这似乎最简单并且确实有效。有什么理由不这样做?
  2. 创建函数来检查 !is.reactive(x) & is.null(x) - 并直接在 fun1 参数中使用此函数。它将根据模块参数传递 NULL 或 arg1()。
  3. 在传递给 fun1 之前,在模块内部创建另一个反应式以将 NULL 转换为反应式({NULL})。

请注意,我已将该功能简化为单个过滤输入。实际功能有多个。

下面有以下代码:

  • 模块内部使用的函数(这是我希望允许将参数设置为 null in)
  • 3 个不同方法的示例模块。我认为一切似乎都有效。
  • 具有所有三个模块输出的闪亮应用程序

测试应用 显示 3 种方法的输出。

0 投票
0 回答
38 浏览

r - 在闪亮的应用程序中,我在哪里丢失了工具提示?

community.rstudio.com交叉发布

我正在为我的 shinyApp 编写代码(使用 golem 包和模块 - 不确定它是否重要)。我堆叠了按钮的工具提示,该按钮未出现在我的应用程序中,但在我尝试创建为 reprex 的应用程序中完美运行。我找不到这个问题来自哪里。可能是模块通信有问题。

这是我尝试做一个reprex(这显然不是一个reprex)。简而言之,mod_body_... 为dashboardPage() 创建一个框。Box 包含一个 shinyWidgets::actionBttn()。由于它没有工具提示选项,我使用 shinyBS::tipify() 添加工具提示。在这里它工作得很好,但是当我将它复制粘贴到我的应用程序中时,它返回按钮但没有工具提示。我还尝试在相同和不同的选项卡上提示其他对象,但工具提示仍然在途中丢失。

有谁知道出了什么问题?

我的应用程序的结构大致如下(每一行 - 单独的文件):

0 投票
1 回答
29 浏览

r - 将绘图从 Shiny 模块中的 renderUI 内部传递到主服务器

我试图了解如何将信息从模块传递到 Shiny App 的主服务器。这是对我的实际代码的过度简化,所以我知道它可以以不同的方式完成,但我需要主要callModule在 server.R 文件中执行此操作。

我正在尝试将应该在 Mod1.R 文件中生成的绘图返回到服务器函数中的 App.R 文件,但我不太确定如何执行此操作。我知道我应该在 Mod1.R 文件中返回一个响应式输出,例如:return(reactive(output$plott))在 Mod1.R 文件中,但这没有任何作用。你能指导我正确的方向吗?谢谢。

0 投票
0 回答
47 浏览

r - 在 Shiny 模块中使用 shinyWidgets selectizeGroupUI

我正在尝试selectizeGroupUI在闪亮的模块中使用。似乎服务器功能工作正常,因为数据表显示在 UI 中,但selectizeGroupUI无法访问其中的输入。

你能帮我解决一下吗?

0 投票
0 回答
39 浏览

r - observEvent shiny 模块中的动态过滤器数据

我写了一个闪亮的代码,我可以选择过滤数据。所以我需要点击过滤器按钮并选择我选择的过滤器。但是,如果我多次单击过滤器按钮,则过滤器将重置为默认值。我该如何解决这个问题?

在这里,我使用了闪亮的模块功能。因此,如果在选择过滤器后再次单击操作按钮,则过滤器会休息。我该如何解决这个问题?

提前致谢。

0 投票
1 回答
128 浏览

r - 闪亮的模块通讯

我正在尝试根据用户输入创建动态 UI。首先,我使用lapply内部 Mod2.R 将 Mod1 的值返回到 Mod2 并将其保存在一个reactiveVal对象中,该对象位于 mod2.R 内部并保存为binner_step_data. 然后,主应用程序还会lapply对 Mod2.R(取决于 Mod1.R)的返回值进行操作,并将其保存在一个reactiveVal对象中,该对象另存为binner_data.

模组1.R

模组2.R

这是我的前两个模块,其中 Mod2.R 使用 Mod1.R 的返回值。现在这是使用 Mod2.R 的返回值的主 app.R 文件。

应用程序.R

最后,我使用 renderPrint 来确认我需要的值正在传递到主服务器,但显然它们不是。我应该返回一个包含两个的列表,第一个元素是 Bin 名称,第二个元素是 Bin Criteria(步骤名称 + 阈值)。处理来自两个模块的返回值以取回我需要的数据的最佳方法是什么?谢谢。

在此处输入图像描述

0 投票
1 回答
254 浏览

r - 更改单个模块中的输入时如何更改多个 Shiny 模块的输入?

我正在使用具有多个模块的更大的 Shiny 应用程序。应用程序中的每个选项卡都是其自己的模块。一些选项卡具有一些共享输入,以及它们自己选项卡的不同输入。

这就是我需要的:当用户更改其中一个闪亮模块中的输入时,跨模块相同的输入也需要更改。这样一来,当用户已经在一个选项卡中更改了输入时,他们就不需要继续跨选项卡更改输入。此外,理想情况下,代码在用户导航到选项卡之前不会执行。

一些给了我想法的资源如下:

下面我写了一些我正在尝试做的示例代码。任何帮助深表感谢。我希望闪亮的大师能找到这篇文章。到目前为止,我一直没有成功。

0 投票
1 回答
329 浏览

r - 如何使用来自另一个模块的反应数据框更新闪亮的模块

该模块的目标是创建一个响应式条形图,该条形图根据数据选择器模块的输出而变化。不幸的是,条形图没有更新。它卡在选择的第一个变量上。

我尝试创建观察者函数来更新条形图,但无济于事。我也尝试将选择器服务器模块嵌套在 barplot 模块中,但我收到错误:警告:UseMethod 中的错误:没有适用于类“c('reactiveExpr','reactive' , '功能')”

我只需要一些方法来告诉 barplot 模块在它输入的数据发生变化时进行更新。

条形图模块:

编辑: 数据选择器模块

简化的应用程序

0 投票
0 回答
15 浏览

r - 闪亮的模块导致发布错误-“找不到对象”

我有一个由多个模块组成的闪亮应用程序,其中一半使用一个数据集,另一半使用另一个数据集。当我在本地运行应用程序时,这些模块可以工作,但是当我尝试发布我的应用程序时,我收到一条错误消息,上面写着“找不到对象'PitchCall'。

“PitchCall”是我的数据集中列的名称,我在一个 mutate 函数中引用它,该函数在我的数据集中创建新列。我不确定为什么它说找不到这个对象。

有人对如何让我的应用程序正常工作有任何提示吗?

如果有人愿意提供帮助,我可以附上我的 app.R。

谢谢!

0 投票
0 回答
30 浏览

r - 如何使用 shinydashboard 组合多个 R 模块(带有子模型和 uiOuput)?

我正在模块化使用 Shinydashboard 包开发的 Shiny 应用程序。尽管它传统上在我不涉及模块的情况下使用它时有效,但当我尝试将它划分为模块和子模块时,我无法让它工作。在这里,我想组合两个 UI(一个用于侧边栏,一个用于正文),以便从侧边栏上传数据集并将其显示到正文中。如果有人可以为此提供一些帮助,我将非常高兴。

这是通用 Shiny 应用程序的代码:

这是我编写的 modules.R 文件,其中包含侧边栏和正文的 UI,以及服务器:

在我看来,我可以上传数据集(.csv、.txt 或 .xlsx)文件,但无法将其显示到正文中。如果您能帮助我,我将非常高兴,非常感谢您的帮助。