R-编写包含反应组件的辅助函数
下面的应用程序包含英文字母表的R-编写包含反应组件的辅助函数,r,shiny,R,Shiny,下面的应用程序包含英文字母表的selectInput和idletters\notif的隐藏警报,如果用户选择字母B,则通知用户。我希望字母\u notif在用户选择B时可见: …并以其他方式隐藏: 以非功能性的方式,您可以将您正在做的事情写在下面: library(shiny) library(shinyjs) shinyApp( ui = fluidPage( useShinyjs(), selectInput('letters', 'Choose a letter:
selectInput
和idletters\notif
的隐藏警报,如果用户选择字母B
,则通知用户。我希望字母\u notif
在用户选择B
时可见:
…并以其他方式隐藏:
以非功能性的方式,您可以将您正在做的事情写在下面:
library(shiny)
library(shinyjs)
shinyApp(
ui = fluidPage(
useShinyjs(),
selectInput('letters', 'Choose a letter:', LETTERS),
hidden(tags$p(id = 'letters_notif', 'B is not allowed.'))
),
server = function(input, output, session) {
observeEvent(input$letters, {
if(input[["letters"]] == 'B') {
observe(toggle('letters_notif', condition = input[["letters"]] == 'B'))
} else input[["letters"]]
})
}
)
如果从上面将整个observeEvent
转换为函数,则无需将session
作为参数传递
library(shiny)
library(shinyjs)
chooseLetter <- function(id, input) {
observeEvent(input[[id]], {
if(input[[id]] == 'B') {
observe(toggle(paste0(id, '_notif'), condition = input[[id]] == 'B'))
} else input[[id]]
})
}
shinyApp(
ui = fluidPage(
useShinyjs(),
selectInput('letters', 'Choose a letter:', LETTERS),
hidden(tags$p(id = 'letters_notif', 'B is not allowed.'))
),
server = function(input, output, session) {
chooseLetter(id = 'letters', input = input)
}
)
库(闪亮)
图书馆(shinyjs)
选择者
library(shiny)
library(shinyjs)
shinyApp(
ui = fluidPage(
useShinyjs(),
selectInput('letters', 'Choose a letter:', LETTERS),
hidden(tags$p(id = 'letters_notif', 'B is not allowed.'))
),
server = function(input, output, session) {
observeEvent(input$letters, {
if(input[["letters"]] == 'B') {
observe(toggle('letters_notif', condition = input[["letters"]] == 'B'))
} else input[["letters"]]
})
}
)
library(shiny)
library(shinyjs)
chooseLetter <- function(id, input) {
observeEvent(input[[id]], {
if(input[[id]] == 'B') {
observe(toggle(paste0(id, '_notif'), condition = input[[id]] == 'B'))
} else input[[id]]
})
}
shinyApp(
ui = fluidPage(
useShinyjs(),
selectInput('letters', 'Choose a letter:', LETTERS),
hidden(tags$p(id = 'letters_notif', 'B is not allowed.'))
),
server = function(input, output, session) {
chooseLetter(id = 'letters', input = input)
}
)