- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个按钮来触发对预先指定的非 react 变量的操作 x
。每次按下按钮 x <- x + 1
应予执行。为了检查是否正确完成,应显示结果。为了实现这一目标,我尝试了 observeEvent()
。但它只做了一次它应该做的事情。它如何正常工作?
看来rv
仅在observeEvent()
内可用功能。如果output$text_2 <- renderText({ rv$a })
放置在 observeEvent()
之外发生错误。我如何使用 observeEvent()
内完成的内容外面?
library(shiny)
x <- 0
ui <- fluidPage(
actionButton(inputId = "action",
label = "action"),
textOutput("text_1"),
textOutput("text_2")
)
server <- function(input, output) {
output$text_1<- renderText({ input$action })
observeEvent(input$action, {
x <- x + 1
rv <- reactiveValues(a = x)
output$text_2 <- renderText({ rv$a })
})
}
shinyApp(ui = ui, server = server)
最佳答案
Daattalis 的答案很准确,但我想我可以发布一些示例来说明如何使用 Shinys react 值来做到这一点。
library(shiny)
ui <- fluidPage(
actionButton(inputId = "action",
label = "action"),
textOutput("txt_example1"),
textOutput("txt_example2"),
textOutput("txt_example3")
)
server <- function(input, output) {
# ------------------ Example 1 ------------------
# Use a list of reactive values
rv <- reactiveValues(x=0)
# Will update text output when rv$x is updated
observe({
output$txt_example1 <- renderText({ rv$x })
})
# ------------------ Example 2 ------------------
# Make variable a reactive
x <- 0
makeReactiveBinding('x')
# The only 'trick' here is that x is made a reactive so that the observer is
# triggered every time x is updated.
# If x is not made a reactive the value of x will still be updated but the observer
# wont trigger (see example 3).
observe({
output$txt_example2 <- renderText({ x })
})
# ------------------ Example 3 ------------------
# Use ordinary R scoping
x2 <- 0
printUpdate <- function(){
output$txt_example3 <- renderText({ x2 })
}
printUpdate() # Print first value
# onClick listener, same for all examples
observeEvent(input$action, {
rv$x <- rv$x + 1 # Example 1, update reactive list
x <<- x + 1 # Example 2, Save x to parent enviroment
# Example 3
x2 <<- x2 + 1 # Again, save x2 to parent enviroment, see help('<<-')
printUpdate() # Update textOutput
})
}
shinyApp(ui = ui, server = server)
希望这有帮助!
关于r - 操作按钮和observeEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671011/
我正在尝试重新创建 https://gist.github.com/wch/5436415/但是通过一个按钮添加图。我认为这需要我沿着这些线路修改链接上的 server.r 代码(图表名称相关变量是通
我正在努力解决一个 react 性的 Shiny 问题,希望得到一些帮助。假设我有一个非常简单的应用程序,它显示给定一系列选择的平均高度: library(tidyverse) library(shi
预先感谢您的帮助。我试图将我的问题归结为尽可能简单的应用程序。我有一个调用 observeEvent 并返回一些 UI 元素的函数 sliderResetInput。我可以在模块外使用 sliderR
如何基于 TRUE/FALSE 复选框事件使用 observeEvent 触发操作(在本例中为 updateSelectInput)? 例如我想在测试为真时更新结果: library(shiny) u
我有以下代码。有没有办法将它写在循环或向量化语句中,例如 lapply?在我的实际代码中,我有更多的画笔,所以这将非常有帮助。谢谢。 忽略这一行。只需要添加更多文本。 observeEvent(inp
我正在开发一个应用程序,在其中我使用模块来显示不同选项卡的 ui 内容。但是,该模块似乎不与主(或父)应用程序通信。它显示正确的 ui 但无法执行 observeEvent actionButton
我想单击一个按钮,触发 insertUI,计算一些东西,最后删除 UI。而insertUI/removeUI是计算后生效的。 我正在按照官方示例动态更新 UI。 https://shiny.rstud
我想要两个不同的事件来触发观察者。有人建议here这应该工作。但似乎它只取决于第二个事件。 observeEvent({ input$spec_button mainplot.click$cl
我正在使用新的 firebase api 来观察实时数据库中名为“posts”的子路径 这是一个 JSON 条目: "posts" : { "-KLT6oYF-F_5sf-dC_2R" : { "
我开发了一个带有自定义 HTML 的简单 R-Shiny 应用程序,并且我有一组输入(在表格中),如下所示: i1 i2 i3 i4 我需要在用户点击其中任何一个时监听变化并更新矩阵上的一些值。我已经
由于 observeEvent 的工作方式(通常非常直观),我在获取我正在寻找的应用程序中的功能时遇到了一些麻烦。 我正在寻找的基本功能是用户可以输入几个数字,单击“提交”,然后弹出一个模式以获取用户
我想生成动态数量的 actionButton,然后让每个生成的按钮将其编号打印到控制台。到目前为止,这是我最好的尝试,但我仍然无法为前 10 个按钮中的每个按钮获取 observeEvent 以识别按
我想添加功能,一旦用户点击 downloadButton 就会给予用户反馈。在我 Shiny 的应用程序中(例如,它会给用户一条警告消息或在点击后切换 ui 元素)。本质上,我希望能够拥有 downl
我正在开发一个 Shiny 的应用程序,但我遇到了 observeEvent() 的困难在创建全部源自 selectInput() 的多个输入的复杂表达式时起作用. 我的问题是 observeEven
我有一个非常简单的应用程序失败了。它失败的原因是 react 数据集仅在 observeEvent 函数内可用,但在外部不可用。我使用 observeEvent 从两个不同的来源获取数据集。对于这个例
我希望在清除输入列表时触发 observeEvent。 这是一个小示例应用程序: library(shiny) ui <- fluidPage( selectizeInput(inputId='s
我想立即更新 tabsetpanel,而不是等到完成下载功能。在这里你可以找到一个简单的代码它有一个按钮,当它按下时,它模拟下载,并更新一个 tabsetpanel。我想在完成下载之前更新面板。 谢谢
我希望使用下面的简化代码作为示例,对 Shiny 的 react 行为有一些了解。 当 y 在应用程序中更新时,图表也会更新。 当 x 在应用程序中更新时,图表不会更新。 我已经阅读了 Shiny 的
我试图通过点击 map 来获取国家信息,但国家名称或 Long/lat 没有打印出来。 任何人都可以在这个问题上启发我吗? 谢谢 该 map 来自自然地球。 library(rgdal) librar
之前,我构建了一个 Shiny 的仪表板,其中包含图表输出,效果很好,如下所示: output$someName <- renderGvis({ input$inputButton data
我是一名优秀的程序员,十分优秀!