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

r - 闪亮模块中带有updateMaterialSwitch的observeEvent不更新输入

我想用 observeEvent 更新闪亮模块内的 materialSwitch,触发事件但 updateMaterialSwitch 不会更改输入值。我的代码片段:

当 observeEvents 在 app_server 中时,一切正常。当我将它们移动到 mod_1_server 时,会触发事件,但 input$uncumulate_tagvals (我的 inputId)的预期值永远不会改变。我的猜测是这个问题可能与会话有关,但我不知道如何解决它。有什么建议么?

0 投票
0 回答
32 浏览

r - 如何使用 Shinyusing 模块在 modalDialog 中为高级设置显示反应式 UI

我正在设计一个应用程序,该应用程序将具有多个选项卡,这些选项卡侧面都有基本的 UI 功能,但在弹出模式按钮中隐藏了各种高级 UI 选项。其中一些选项响应数据集,例如选择要使用的行。

我想使用模块来设计应用程序,但在将反应式 UI 元素放入模式中时遇到了麻烦。

我认为 modalUI1 获得了正确的命名空间,但是当我在 settingsServer1 生成的反应性 ui 元素上调用 uiOutput 时,它没有显示出来。

我发现的最近的松弛帖子做了类似的事情,但他们有静态 UI 的模式。这里

0 投票
1 回答
66 浏览

r - 在模块化闪亮应用程序中对齐 ggplots

我有一个模块化的闪亮应用程序,可以实时显示 4 个变量。监控模块将一个大数据帧作为输入,并显示分配的信号。这 4 个模块在 ui 中堆叠在一起:

问题如下:图在模块之​​间没有完全对齐。主要是因为 y 刻度值具有不同的范围(请参阅 icp 和 ptio2 如何对齐,因为两个信号都有两位数字,没有小数点)

我已经看到了几种对齐ggplots的技术,但是您需要将4个图作为输入,然后将它们全部合并到一个图/渲染中。我想避免这一步以保持应用程序的模块化结构。

有什么办法可以对齐这些图而不必将它们合并在一起?(即通过限制 y 刻度的长度)

先感谢您 !

截屏:

显示 4 个模块和错位问题的屏幕截图

可重现的例子:

0 投票
1 回答
548 浏览

r - 闪亮的动作按钮不适用于模块

我已经从一个模块定义了我的操作按钮,如下所示。

现在它在按下时无法触发观察事件。我认为模块是独立的并且自给自足,但似乎不是。将它放在我的服务器中效果很好,但我不想弄乱我的服务器。

任何的想法?

0 投票
1 回答
759 浏览

r - 在嵌套模块中使用 Shiny 的 updateSelectInput

背景

该应用程序具有以下结构:

随着文件完成各自的功能:

  • mod_observationSelector.R- 提供一种updateSelectInput机制,便于选择数据中的整数或实数mtcars
  • mod_previewTable.R-head为选定的列生成
  • mod_summaryTable.R-summary为选定的列生成

设计假设

  • mod_observationSelector.R此模块中可用的链接界面元素应可用于提供选择机制的其余模块

问题

嵌套后,下拉选择不再更新。

工作版本

筑巢前。

mod_observationSelector.R

app.R

破解版

问题

  1. 以前的工作updateSelect现在坏了

app.R

mod_observationSelector.R

实际上,没有变化。

mod_summaryTable.R

mod_previewTable

预期的结果

  • 跨模块的下拉选择更新
  • 模块内下拉选择的结果可用于“外部”模块以生成摘要等。

为方便起见,该代码也可在 GitHub 上找到:konradzdeb/nestedModule

0 投票
1 回答
153 浏览

r - 使用 insertUI 添加几个闪亮模块的问题

我构建了一个闪亮的应用程序,它需要根据一些我只会实时知道的参数动态添加 UI 片段。我创建了我的需求的简单重构,并遇到了我在下面描述的问题

所以在我的示例中,我有一个名为 mblock 的模块。为了这个例子,它只显示一个文本。要显示的实际文本是在运行时决定的,因此文本(以及因此块)的数量将在运行时决定

对于特定示例,我将 texts 设置为包含所有要显示的文本的固定向量,但实际上它将被计算为反应对象。代码如下:

问题是所有块都显示相同的文本(最后一个)。我不明白为什么

任何想法如何修复代码?我想念什么(闪亮版本 1.4.0)

0 投票
1 回答
140 浏览

r - 为什么需要先调用这个反应值才能使用它?

在尝试为这个问题提出一个过于复杂的解决方案时,我偶然发现了以下问题。我有 2 个不同的模块,inputtable显示rhandsontable并返回此表,并将resulttable此表作为输入,执行一些计算并将结果显示为rhandsontable. inputtablerhandsontable对象作为反应值返回。因为每个模块可以有多个副本,所以我将结果存储inputtable在一个列表中,并将列表元素作为输入提供给resulttable.

我注意到在 中resulttable,反应输入input_data$input_table()不能直接使用。当我在将反应值用于实际目的之前调用browserprint函数或将其分配给变量时,它就会起作用。否则我得到错误

尝试应用非功能

据我了解,将反应值传递给模块,这应该可以工作,而无需在使用它之前对反应值做其他事情。如果我不使用列表来存储反应值,而只使用每个模块的一个副本并将结果直接存储inputtable在变量中并将其传递给resulttable,它会按我的预期工作。(但在对象中存储不同的反应值reactiveValues也会导致错误。)

有人知道那里发生了什么吗?

我为这个冗长的例子道歉,当我试图缩短它时,我丢失了错误:

我正在使用R 3.6.1shiny 1.5.0

不幸的是,还有另外两个问题:

  • 您需要单击结果选项卡来呈现它
  • 模块中第一个显示的表inputtable使用i = 2而不是i = 1,我还没有弄清楚为什么。

所以也许我的代码还有其他问题。对于这种奇怪的行为或如何制作一个更简单的例子,我很高兴。

0 投票
1 回答
291 浏览

r - 我可以在 Shiny App Module 的不同实例中维护输入默认值吗?

我想看看是否可以从 Shiny App 模块的一个实例中获取输入,并将它们应用为不同选项卡上同一模块的单独实例的默认输入。我正在努力以正确的方式提出这个问题,但我试图在下面创建一个可重现的示例。我有一个带有约 5 个选项卡的闪亮仪表板,每个选项卡都调用相同的绘图模块。

例如,在下面的代码中,我创建了一个简化的仪表板来生成绘图。如果有人点击“标签页 1”并将绘图颜色更改为“深粉色”,现在是否可以在用户点击“标签页 2”时将该输入设置为默认颜色选项?或者用户是否总是必须重新选择颜色输入?

我最初使用的选项卡/模块打算在选项卡之间具有独立性,但收到一位同事的反馈,如果他们在切换选项卡时不必重新选择所有输入选项,它将帮助用户导航我的应用程序。

我找到了一些让模块相互通信的示例, (也在这里),但还没有找到真正解决这个问题的解决方案。

附加背景:我的完整应用程序将为 5 个地理位置中的每一个提供不同的选项卡。每个位置都将允许用户选择已完成的调查以及调查数据趋势的物种。因此,如果用户(在选项卡 1 上)选择了一项调查和一个物种,那么当用户切换到选项卡 2(新地理区域)时,最好将这些选项作为第一个选项。这样,用户可以更快地比较地理区域之间的相似地块。

0 投票
0 回答
66 浏览

r - How to use a highcharter event function in shiny module

My question is related to this post. By clicking on a bar in a bar plot I want to display the selected category. When rewriting the code into modules I do not get the expected result (i.e. display the category in text field), instead nothing happens not even an error message pops up. What am I doing wrong?

0 投票
1 回答
793 浏览

r - R shinyjs 禁用功能在从另一个模块获取输入的模块中不起作用

下面的代码是我在一个更大的应用程序中构建的一个最小示例,我无法弄清楚为什么textInputinoutput_module.R没有被禁用。如果有人可以提供帮助,将不胜感激!

应用程序.R

输入模块.R

输出模块.R