问题标签 [renderui]
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.
r - 为什么我在 R Shiny 中的 renderUI 调用会产生“match.arg(position) 中的错误:'arg' 必须为 NULL 或字符向量”错误?
我正在构建一个闪亮的应用程序,它有 2 个选项卡,侧边栏略有不同。对于第一个侧边栏,我想要一个具有数据集名称的 selectInput,并且默认选择所有这些名称(不是通过使用诸如添加“全部”选项之类的解决方法,而是从字面上选择所有选项)。
最终,我希望可用选项对用户的日期输入做出反应,但现在,我只想创建 renderUI 来填充我的选项。
但是,当我尝试时,出现以下错误:
我尝试查找其他答案,例如 5 年前的这个答案,但它对我的问题没有帮助。
我认为问题发生在这段代码中:
但我也在这里包含了我的整个代码:
r - 使用 Shiny 为动态生成的输入生成反应反馈警告
闪亮的初学者在这里!我正在尝试创建一个应用程序,用户可以在其中输入动态数量的 8 位代码。首先他们输入他们喜欢的代码数量,然后使用renderUI,生成了很多槽。
我想使用 ShinyFeedback 检查每个插入代码的 nchar,如果它不是 8 位数字,则显示警告。这就是我迄今为止所做的:
我无法通过他们的 id 访问各个输入。input$inputName 在 renderUI 部分生成:
运行此代码会出现以下错误:Warning: Error in feedback: is.character(inputId) is not TRUE
在下面完成当前代码:
将不胜感激任何想法:)
r - 在R闪亮中,如何在不使用renderUI的情况下首次调用应用程序时消除侧边栏中所有条件面板的闪烁?
这是我 6 月 30 日帖子的后续内容,我在调用应用程序时消除了conditionalPanel
闪烁。sidebarPanel
解决方案是将那些侧边栏条件面板移到renderUI
中,消除闪烁。但是,后来我发现renderUI
以这种方式使用会导致其他限制。有什么方法可以在不使用的情况下消除调用闪烁renderUI
?
我包括以下 3 组代码:
- 非常短的 MWE 代码,说明了闪烁问题,由 ismirsehregal 提供
- 冗长而复杂的代码非常清楚地说明了所有条件面板在调用时如何在侧面板中闪烁,当侧边栏条件面板在 UI 中呈现时(侧边栏面板中没有
renderUI
条件面板,如下面的#3 解决了这个问题,尽管它引入了其他这篇文章中没有解释的问题)。 - 上面 #2 的改编 where
renderUI
被使用并且没有调用闪烁。
我不想完全剥离第 2 项和第 3 项中的代码,以便侧边栏面板足够大,从而使调用闪烁更加明显。此外,当我对这段代码进行一些剥离时,我确实失去了一些功能,如“重置”,无论如何这与手头的问题无关。
尽管 #2 和 #3 中的代码可能会非常冗长且复杂,但条件面板的移动renderUI
是直截了当的。
1 号短 MWE 代码:
No. 2 长代码,不带renderUI
, 边栏调用闪烁:
No. 3 Long code resloving #2 with renderUI
,并且没有侧边栏调用闪烁(省略自定义函数,因为它们与上面的代码相同):
r - 如何在 R Shiny 的多个 uiOutputs 中使用相同的 inputId?
我正在编写一个应用程序,用于将纸质表格中的数据输入 SQL 数据库。数据来自野生动物捕获记录,会进入一个表,所以不同的表格有很多相同的字段(例如体重,年龄,物种等),但有些表格有不同的字段,或者相同字段以不同的顺序。我不想让未使用的字段可见,并且我希望 Shiny 应用程序与数据表上的字段顺序相匹配,以便用户可以通过 Tab 键浏览。所以,我有一个uiOutput
基于最初从菜单中选择的物种呈现的每个物种。然后,在这些uiOutput
s 中,其他输入,包括selectInput
选择取决于所选物种的 s。
由于许多字段是相同的,我只想在最后有一个使用所有输入的数据框,无论选择的物种是什么,而不是熊数据框、麋鹿数据框等。所以,input$Age
将被渲染多次而不是input$bearAge
,input$elkAge
每次渲染一次。然后,最终,我将有一个数据框entrydata <- data.frame(Age = input$Age)
,而不是bearentrydata <- data.frame(Age = input$bearAge)
,elkentrydata <- data.frame(Age = input$elkAge)
等。
问题是,闪亮似乎真的不喜欢一遍又一遍地使用相同的输入值,它会随机停止识别input$Age
物种 1 的新值,然后再次开始识别物种 2,然后再次识别物种 1。我把里面有一个打印语句observeEvent(input$Age, {})
来测试。我试图用 修复它choices = someAgeVector
,其中someAgeVector
更新observeEvent(input$GameID,{})
和相同的事情发生,让我相信重复使用相同的 inputId 是一个问题。
有没有办法多次渲染相同的输入?
这是该应用程序的简化版本:
html - 使用 renderUI 更改页面上的输入顺序
我有一个数据输入表,用户将使用它从纸质数据表中输入野生动物捕获数据。纸张有许多相同的字段(例如年龄、体重、性别),但并非完全相同(例如,有些有胸围,有些没有)。表格也以不同的顺序设置,闪亮的表格必须与纸张上字段的确切顺序相匹配。
我目前有一系列uiOutput
/renderUI
对,根据用户从下拉列表中选择的种类显示输入。因为大多数物种都收集了相同的数据,并且这些数据都将进入同一张表,所以我想对所有物种使用一个输入(例如,input$Age
而不是input$BearAge
and input$ElkAge
)。但是,正如我上面所说,所有表格的顺序都不同,所以请不要建议我对所有物种都使用相同的表格。
我知道我可以使用shinyjs::show()
并shinyjs::hide()
更改输入是否可见,但是有没有办法根据用户输入、使用renderUI
或其他方式更改现有对象的顺序?
它看起来像这样:
r - 在 R shiny 中,为什么我在对 renderUI 进行简单的适配后会收到错误消息?
当运行以下“使用 renderUI 的 MWE 代码”时,在 R Studio 控制台中我收到消息“错误在 :: 长度为 0 的参数中”,尽管应用程序保持正常工作。此 MWE 反映了以下“ MWE code this was modified from without renderUI ”的简单改编,其中未使用 renderUI,并且此 MWE 不显示任何类型的错误。
什么可能导致此错误?我需要renderUI
。
使用 renderUI 的 MWE 代码:
这是改编自没有 renderUI 的 MWE 代码:
javascript - conditionalPanel 和 uiOutput/req 模式之间的区别
考虑下面的示例应用程序,演示了两种基于条件显示 UI 的方法:
就前端而言,conditionalPanel
and uiOutput
/req
模式的行为似乎相似。是否有任何差异,特别是与性能相关的差异,会使一种模式更有益?
r - 有没有办法在 Shiny (R) 中为 renderUI 制作包装函数?
我需要使用renderUI
基于另一个输入值创建多个输入选项。我想把里面的所有东西都包装renderUI
成一个函数,这样我就可以将它应用于许多类似的输入。这是一个简化的示例(对我有用,但我不想renderUI
多次重复该部分,因为我有许多其他输入,例如i1
):
问题是当我试图将它包装到一个函数中时,renderUI
当我更改输入值时,由创建的输出停止更新。这是对我不起作用的代码:
r - 在 R Shiny 中,当使用 renderUI/uiOutput 动态生成控件集时,如何获取这些值或通过引发事件来填充输入?
R Shiny中的问题,使用时
- 渲染界面
- ui输出
动态生成控件集,例如:
- 复选框
- 单选按钮
- 文本框
如何通过引发事件来获取这些值或填充输入?
照原样,那些生成的控件似乎是“仅显示”。进行选择、标记复选框或输入数据只会更新显示,但不会创建事件,并且不会将值填充到“输入”变量( ReactiveValues )中;因此,Shiny 服务器进程没有收到任何内容。
如果这些控制输入实际上是隔离的,那么它完全破坏了动态创建控制的意义。
显然,我希望这个问题已经得到解决,但我的搜索还没有出现。
在我的具体情况下,用户界面允许用户:
- 选择并上传 CSV 文件。
- 该逻辑识别数字、日期和分组列,并生成 3 组单选按钮控件集。这个想法是你选择你感兴趣的列。
- 选择一个分组列应该将该 columnID 返回到服务器,在那里它将显示一个离散的组列表,从中进行选择。这会失败,因为选择不会生成事件,并且输入变量(提供给 server.R)仅包含来自静态控件的 ReactiveValues。
也就是说,控件的显示看起来不错。
在 server.R 端,我使用如下代码来创建单选按钮。
我玩过提交按钮和 ActionButtons 来尝试强制事件,但没有骰子。我的头骨风暴现在要去“我需要在这里以某种方式使用 Javascript 吗?”之类的地方。
非常感谢所有在这件事上借给我周期的人。