闪亮的 addpopover 函数不适用于 uioutput
shiny addpopover function doesnt work with uioutput
我在 R 中创建了以下闪亮的应用程序
首先我们导入必要的库
library(shiny)
library(shinyBS)
下一步是创建一个UI如下
ui = fluidPage( sidebarLayout( sidebarPanel(sliderInput("bins", "Number of bins:", min = 1, max =
50,value = 30), selectInput(inputId = "Select1", label = "Select1", choices = c('A', 'B', 'C'),
selected = "A"), selectInput(inputId = "Select2", label = "Select2", choices = c('A1', 'B1', 'C1'),
selected = "A1"), bsTooltip("bins", "Read", "right", options = list(container = "body")) ),
mainPanel(uiOutput("namelist") ) ))
我们现在创建服务器如下
server =function(input, output, session) {
content<-reactive({
input$Select2
})
output$namelist<-renderUI({
textInput(inputId = "text1", label =input$Select1)
})
addPopover(session, "namelist", "Data", content =content() , trigger = 'click') }
shinyApp(ui, server)
运行 上的应用程序将创建一个滑块和两个 select 框以及一个对用户输入做出动态反应的输出。当将鼠标悬停在滑块上时,工具提示会显示带有已读的气泡。我无法使 addpopover 函数工作。它应该这样工作,基于 select 2 的输入,弹出消息框中呈现的文本应该改变。该应用程序正在崩溃。当我将 addpopover 命令放在反应环境中时,我是 renderUI 函数输出 - 即文本框消失。我请求有人帮助我。
您可以将 addPopover
包装在 observe
或 observeEvent
中。我更喜欢observeEvent
,推荐here。
addPopover
将在每次 content()
更改时更新,这正是我们想要的,因为此弹出窗口应该显示 content()
。但是,此弹出窗口的行为有些奇怪(点击有时无效),但我想这与您的应用程序无关。
library(shiny)
library(shinyBS)
ui = fluidPage(sidebarLayout(
sidebarPanel(
sliderInput(
"bins",
"Number of bins:",
min = 1,
max =
50,
value = 30
),
selectInput(
inputId = "Select1",
label = "Select1",
choices = c('A', 'B', 'C'),
selected = "A"
),
selectInput(
inputId = "Select2",
label = "Select2",
choices = c('A1', 'B1', 'C1'),
selected = "A1"
),
bsTooltip("bins", "Read", "right", options = list(container = "body"))
),
mainPanel(uiOutput("namelist"))
))
server =function(input, output, session) {
content<-reactive({
input$Select2
})
output$namelist<-renderUI({
textInput(inputId = "text1", label = input$Select1)
})
observeEvent(content(), {
addPopover(session, "namelist", "Data", content = content() , trigger = 'click')
})
}
shinyApp(ui, server)
我在 R 中创建了以下闪亮的应用程序
首先我们导入必要的库
library(shiny)
library(shinyBS)
下一步是创建一个UI如下
ui = fluidPage( sidebarLayout( sidebarPanel(sliderInput("bins", "Number of bins:", min = 1, max =
50,value = 30), selectInput(inputId = "Select1", label = "Select1", choices = c('A', 'B', 'C'),
selected = "A"), selectInput(inputId = "Select2", label = "Select2", choices = c('A1', 'B1', 'C1'),
selected = "A1"), bsTooltip("bins", "Read", "right", options = list(container = "body")) ),
mainPanel(uiOutput("namelist") ) ))
我们现在创建服务器如下
server =function(input, output, session) {
content<-reactive({
input$Select2
})
output$namelist<-renderUI({
textInput(inputId = "text1", label =input$Select1)
})
addPopover(session, "namelist", "Data", content =content() , trigger = 'click') }
shinyApp(ui, server)
运行 上的应用程序将创建一个滑块和两个 select 框以及一个对用户输入做出动态反应的输出。当将鼠标悬停在滑块上时,工具提示会显示带有已读的气泡。我无法使 addpopover 函数工作。它应该这样工作,基于 select 2 的输入,弹出消息框中呈现的文本应该改变。该应用程序正在崩溃。当我将 addpopover 命令放在反应环境中时,我是 renderUI 函数输出 - 即文本框消失。我请求有人帮助我。
您可以将 addPopover
包装在 observe
或 observeEvent
中。我更喜欢observeEvent
,推荐here。
addPopover
将在每次 content()
更改时更新,这正是我们想要的,因为此弹出窗口应该显示 content()
。但是,此弹出窗口的行为有些奇怪(点击有时无效),但我想这与您的应用程序无关。
library(shiny)
library(shinyBS)
ui = fluidPage(sidebarLayout(
sidebarPanel(
sliderInput(
"bins",
"Number of bins:",
min = 1,
max =
50,
value = 30
),
selectInput(
inputId = "Select1",
label = "Select1",
choices = c('A', 'B', 'C'),
selected = "A"
),
selectInput(
inputId = "Select2",
label = "Select2",
choices = c('A1', 'B1', 'C1'),
selected = "A1"
),
bsTooltip("bins", "Read", "right", options = list(container = "body"))
),
mainPanel(uiOutput("namelist"))
))
server =function(input, output, session) {
content<-reactive({
input$Select2
})
output$namelist<-renderUI({
textInput(inputId = "text1", label = input$Select1)
})
observeEvent(content(), {
addPopover(session, "namelist", "Data", content = content() , trigger = 'click')
})
}
shinyApp(ui, server)