如何仅在浏览器上显示值?
以下是我的代码。
if (cmp < 0) t = t.left;
else if (cmp > 0) t = t.right;
以下是产出:
ui <- shinyUI(bootstrapPage(
absolutePanel(
textOutput("renderText1")
)
)
)
server <- function(input,output,session)
{
observeEvent(input$dropdown, {
query <- sprintf("select ....",input$dropdown)
cabinet_info <- dbGetQuery(con,query)
output$renderText1 <- renderText({
paste(cabinet_info)
})
})
}
答案 0 :(得分:1)
虽然Geovany的答案可能有效,但将observeEvent
与全局赋值运算符(<<-
)一起使用并不是一个好习惯。
如果您想执行副作用(例如,编写文件,绘图,打印),则可以使用observe
或observeEvent
,但如果您想使用返回值,请使用而是eventReactive
。
ui <- shinyUI(bootstrapPage(
absolutePanel(
selectInput("dropdown", label = 'SelectInput', choices = c('A', 'B')),
textOutput("renderText1")
)
)
)
server <- function(input,output,session)
{
cab <- eventReactive(input$dropdown, {
query <- sprintf("select ....",input$dropdown)
#cabinet_info <- dbGetQuery(con,query) #Replaced by a constant
cabinet_info <- paste(c(input$dropdown, 'a','w','r','t'), sep=",")
})
output$renderText1 <- renderText({
cab()
})
}
shinyApp(ui, server)
从服务器端调用eventReactive
就像一个函数:cab()
答案 1 :(得分:0)
这可以帮到你
runApp(list(
ui = shinyUI(bootstrapPage(
absolutePanel(
actionButton("dropdown", "dropdown"),
textOutput("renderText1")
)
)
),
server = shinyServer(function(input, output) {
cabinet_info <- NULL
observeEvent(input$dropdown, {
cabinet_info <<- c('a','w','r','t')
})
output$renderText1 <- renderText({
input$dropdown
paste(cabinet_info, collapse = ',')
})
})
))