问题标签 [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 投票
1 回答
63 浏览

r - 如何消除 R Shiny 中反应图下方的空白空间?

我有一个复杂的 R 闪亮应用程序,它利用了多个模块。我有两个不同的模块(我将其称为直方图模块和散点图模块),每个模块都输出一个反应图。根据用户输入,任何时候都应该只显示这些图之一。我可以通过单选按钮选择来管理它 - 用户只需选择直方图或散点图。

我很难以吸引人的方式安排这两个反应式绘图输出。我希望直方图和散点图与页面的左上角对齐。如果我的直方图在我的 UI 中首先列出,当用户选择散点图时,该散点图会呈现在一个大的空白区域下方。当用户选择直方图时,这个大空白空间被填充,但我希望这个“底部”图仍然显示在闪亮应用程序的顶部。

在我使用模块之前的光辉岁月里,我只是将我的绘图输出放在 UI 的条件面板中(例如,conditionalPanel("input.displayPlot", plotOutput("plot1"))但是,现在我有一个复杂的模块,我没有输入逻辑可以放在条件面板中(至少我不认为我这样做)。

我创建了一个简单的可重现示例,因为我可以设法重新创建这个问题。当用户选择散点图时,它会显示在一个大的空白区域下。我真的更愿意在我的模块中保留直方图与散点图的单选按钮选择(因为它也是基于其他复杂逻辑的反应性显示),但这可能是不可能的。

提前感谢您的任何帮助!

0 投票
1 回答
162 浏览

r - 如何强制输入跨模块采用相同的值

我正在开发一个闪亮的仪表板,该仪表板大量使用闪亮的模块,我的客户要求我这样做,以便仪表板的各个选项卡中的相同两个输入采用相同的值,而不管选项卡如何。我在执行此操作时遇到了很大的问题,并且能够使用您将在下面找到的玩具示例重新创建它。

所以我试图在这个玩具示例中链接的两个输入是speciesisland。我已经进行了设置,以便当有人在任一输入上进行新选择时,观察者应该更新一个全局变量,在这种情况下我标记为inputs. 然后如果inputs被更新,则另一个选项卡应该更新它自己的 selectInput。

奇怪的是,我发现使用这段代码,如果我慢慢地做出选择,一切都很好!但是,当我快速连续单击 2 个以上的选项时,它会导致在当前选项卡中出现第二个选项出现的无限循环,然后消失,然后出现......等等。相反,当我选择了 3 个选项并且尝试快速连续删除选项,它只是不允许我删除所有选项!

太奇怪了。

任何人都知道我的代码有什么问题,以及如何强制两个选项卡中的输入保持与其他选项卡中选择的值相同?

谢谢!

0 投票
0 回答
210 浏览

r - 如何从 Shiny 模块中的模态对话框将数据框返回到 Shiny 应用程序?

我正在开发大型闪亮应用程序,我需要显示一个模态对话框并允许在其中执行一些算术运算,当它关闭时,它应该返回根据与去算术修改的数据以更新数据中的数据表输出。此外,如果选择了新数据集,则应清除字段,否则,如果再次打开模式,则应显示先前加载的字段。由于我的应用程序非常大,我想创建一个模块化代码,但是当我从observeEvent 中的 bt_show_modal 按钮调用 de 模块时,它什么也不做。

我已经在 ui.r 和 server.r 结构中构建了应用程序并且工作正常! 这是应用程序代码:

这是模块实现:

0 投票
1 回答
99 浏览

r - 传递给嵌套模块的按钮无法正常工作

出于某种原因,我需要嵌套模块。我将按钮传递给嵌套模块mod_coordinates_server,但是当我单击按钮点时,地图上没有显示。我在此处使用reactive并且按钮已正确传递 - 当您取消注释print(btn())(in observeEvent) 时,您会看到值已正确返回到控制台。这意味着该按钮可以正常工作。那么为什么它对积分不起作用?命名空间有问题吗?

下面的工作示例:

0 投票
0 回答
66 浏览

r - R闪亮的嵌套模块,输入不可用

我正在尝试使用 2 个嵌套模块为简单的数据输入构建一个闪亮的应用程序。用户提供具有特定列类型的数据框,应用程序将允许您向其中添加更多行。第一个模块(“输入”)将根据列类型创建输入小部件。第二个模块(“表格”)显示表格,并允许添加额外的行。我在模块 2 中嵌套了模块 1 作为模式弹出窗口。

我遇到的问题是我无法访问第一个模块中的输入(“输入”)。我可以看到变量的名称,这是一个 ReactiveValues 对象,但一切都是 NULL。

任何帮助将不胜感激(为长代码道歉,这是我可以制作的最短的可重现示例)。

0 投票
1 回答
95 浏览

r - 闪亮的模块:更新按钮的颜色

我正在努力根据模块中的代码更新 ui 中的按钮的逻辑。当我单击按钮时,我希望它改变颜色,但没有任何反应。我理解为了在服务器模块中使用它而使 ui 输入反应,但我没有让它以相反的方式工作。高度赞赏帮助(和一些解释)!

这是我的代码:(我在点击时将保存到 csv 部分,因为我让它工作)。

0 投票
0 回答
46 浏览

r - 如何在 R 包中包含和显示图像?

我正在尝试打包一个 Shiny 模块,该模块显示带有徽标的模式(以 png 格式)。为此,我创建了一个“inst/www”目录来存储徽标文件。目录树看起来像这样:

但是,在构建和安装之后,该包似乎没有从我放置“logo.png”的预定义目录中读取。相反,它从我从包中插入函数的主项目中读取。包的 testUI() 函数是这样的:

从我在其他项目中看到的情况来看,“inst”文件夹似乎是要走的路,但我还是 R 包的新手,所以我真的不知道我在做什么。非常感谢您对此的任何帮助,谢谢!

0 投票
1 回答
77 浏览

r - ggplot plot from esquisse package not rendering in flexdashboard

When I try to include the excellent esquisse shinymodule into a flexdashboard, the plots are not rendered.

The example below tries to translate the Shiny example from the help for use in a flexdashboard, but although it displays and reads the data (it displays the column names and these change when selecting the "cars" data), it does not update the chart menu neither does it render the plot.

How can I make the plots render when using the esquisse Shiny module?

0 投票
1 回答
27 浏览

r - 用于常规读取数据的闪亮模块(不是由新会话触发

刚刚结束模块化我闪亮的应用程序,但我有一个问题:我的应用程序整天运行,一些用户通过网络浏览器来查阅它。我创建了一个模块来读取 csv,并通过响应计时器每 30 分钟调用一次该模块。问题是 callmodule 在服务器内,每个新会话都会触发我的模块并重新读取数据。在模块化之前,我将所有 read.csv 都放在服务器之外,如下所示: https ://shiny.rstudio.com/articles/scoping.html

整夜寻找解决方案,但没有找到。有什么假设吗?谢谢

0 投票
0 回答
47 浏览

r - 闪亮的模块和 R Leaflet suspendWhenHidden 不重绘地图

我有一个复杂的闪亮应用程序,允许用户从多个主面板中进行选择——其中一个是传单地图。该应用程序还具有一个持久的侧边栏,在所有主面板中都是一致的。此侧边栏允许用户选择在所有应用程序面板中使用的数据。

即使用户不在地图选项卡上,我遇到的问题也与更新地图有关。我看到了这篇文章并尝试了它的解决方案,但是当我翻回地图选项卡时,它会导致地图完全变灰。我怀疑这可能与使用闪亮的模块有关。

这是一个更简单的表示:

要重现错误,请单击分析选项卡并更改输入中的目标。然后返回地图选项卡。传单输出应为灰色。