问题标签 [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 回答
287 浏览

r - 模块服务器在 R Shiny 中不工作,callmodule 根本不工作

我一直在尝试使用 R Shiny 模块制作应用程序。这就是模块的样子。

数据如下

该应用程序看起来像这样。

模块化 UI(输入)工作正常。但情节永远不会从模块化服务器呈现。

我无法理解为什么。它没有显示任何错误。只是,“微调器”旋转无限时间。

谁能帮我解决这个问题?提前致谢。

0 投票
1 回答
24 浏览

r - R Shiny - 将 selectizeInput 作为参数传递给 ShinyModule

这是我的服务器功能代码:

我想将 selectizeinput 中的值传递给函数。

数据正确传递一次(加载时),但不对任何更改做出反应。谁能解释这种行为?它与命名空间有关吗?

0 投票
1 回答
211 浏览

r - R Shiny - 保存动态创建的模块的结果

我遇到了以下问题,我试图在这个最小的可重现示例中进行总结。

该应用程序应该能够动态创建模块并obj_UI在 tabsetpanel 的选项卡中呈现模块的 UI(在我的示例中)objTP。这些模块中的每一个都应该呈现一个R6类型为 的对象objR6。我想将生成的R6对象保存到一个reactiveValues名为的变量objCollection中,并将其显示在被verbatimTextOutput调用的displayValues.

单击input$addObject按钮时,我收到错误消息"Error in <-: cannot add bindings to a locked environment"。我相信问题出observeEvent在示例的最后,但无法弄清楚它是什么。

任何帮助将非常感激!

0 投票
1 回答
31 浏览

r - 闪亮的模块:处理按钮列表

我正在尝试构建一个依赖于通过 lapply 创建的按钮列表的应用程序。当我不使用模块化代码时,我可以使用 observeEvent 成功引用按钮。但是,当我尝试使用模块时,observeEvent 不起作用。我怀疑这与 Shiny 处理命名空间 id 的方式有关,但是尽管进行了几天的实验,我还是无法解决这个问题。

下面我将首先发布可以工作的非模块化虚拟应用程序(从另一个堆栈溢出问题中窃取:R Shiny: How to write loop for observeEvent)。然后我将分享我现有的不起作用的模块化代码。

工作非模块化代码:

失败的模块化代码:

谢谢!

0 投票
1 回答
54 浏览

r - 面临访问闪亮模块动态输入值的问题

我在从主闪亮服务器功能中的滑块访问闪亮模块的动态输入值时遇到问题。

在选择 metric2 时 SelectInput 的以下代码中,我应该能够看到具有特定范围和默认值的滑块。这完美无缺。但是滑块的值预计将在主要的闪亮服务器功能中显示为 TextOutput ,这是失败的。

主要闪亮文件:

闪亮的模块:showLowHighSliders.R

我也无法访问注释部分中显示的模块本身内的动态输入滑块值。

在此处输入图像描述

任何帮助表示赞赏。

0 投票
1 回答
84 浏览

r - 如何在闪亮模块中选择输入 R6 类的元素子集以对其执行操作

我可以访问一个模块中所有输入小部件的列表(让我们命名它myModule)并检查它们的状态是否为isTruthy().

当我知道(或可以推断)小部件的确切名称时,我找到了一种有效的方法(参见1)。

当然,我也可以用一长串if (isTruthy(input$a) && isTruthy(input$b) && .... 但这两种解决方案对我来说都不满意,主要是因为可读性和可维护性方面的缺陷。

我知道input该类将它们全部列在以 . 开头的名称下myModule-[AnyName]。但我不知道如何使用这些信息通过循环甚至更好的apply函数来访问它们。

0 投票
1 回答
58 浏览

r - 在模块化闪亮应用程序中将反应式数据表服务器传递给 ui

我想默认显示一个数据表,其中包含数据框中的一列,然后让用户使用可排序的拖放包从数据框中填充其他列。

通过一个文件闪亮的应用程序运行时,我在这里有一个工作示例。

虽然这工作正常。当我尝试以模块化格式实现这一点时,数据表无法更新。

用户界面

服务器

我用

不知道我在这里做错了什么。

0 投票
1 回答
209 浏览

r - 如何在模块之间传递按钮的“点击”动作?

我在一个模块中有一个按钮。当我单击按钮时,应该会出现一个面板。该面板被放置在另一个模块中。我尝试使用一些反应性在模块之间传递按钮的“单击”操作,但我的代码无法正常工作。这是一个可行的例子:

我尝试了各种方法将按钮“单击”传递给另一个模块,但它不起作用。我还在闪亮的模块中检查了这个 eventReactive但在我的示例中我不想将值作为输出返回,只是让一些 GUI 出现。

0 投票
1 回答
245 浏览

r - 在 R 闪亮模块中捕获选择输入值

我正在构建一个带有选择输入的闪亮应用程序。
输入中的选择取决于基础数据中的 id。
在我的真实应用程序中,数据通过调用 API 进行更新。
当我点击“更新数据”按钮时,我希望选择输入中的选定 id 选项保持不变。

在使用闪亮的模块之前,我能够做到这一点。但是,当我尝试将代码转换为使用闪亮模块时,它无法保存选定的 id 值,并且每次更新基础数据时都会重置选择输入。

以下示例在没有模块的情况下很有帮助,但是当我使用该模块时,它似乎不起作用......链接在这里

下面是一个代表。谢谢你的帮助。

0 投票
1 回答
219 浏览

r - 在模块化 R Shiny App 中调用 updateTabItem 后的 updatePickerInput

目标:

我想在 DT 表中选择一行,切换选项卡,并将 pickerInput 值更新为表行中的值。

问题:

我可以很好地切换标签(感谢另一篇关于使用父会话的建议);但是,我似乎无法弄清楚如何让 updatePickerInput 正常工作。我认为 session 和 inputId 参数存在问题。updatePickerInput 的会话不是父会话,而是更像来自 updateTabItem 调用的“子”会话,这是有道理的。

代表:

下面是一个单独的文件 app.r 脚本,它具有两个面板的模块作为全局函数。

会话信息():

R 版本 4.0.3 (2020-10-10)

平台:x86_64-apple-darwin17.0(64位)

运行于:macOS Big Sur 10.16