当我使用 runApp 时,某些小部件无法正常工作,但当我使用 shinyApp 时,一切正常。当我使用 runApp 时,我指定了一个主机和端口。
不工作的小部件是来自 shinyWidgets 的 pickerInput。
我认为这可能是一个网站不安全的问题,但不确定。
这是使用 shinyApp 的网站的样子:
这是使用 runApp 的网站的样子:
编辑:
这是示例代码:
library(shiny)
library(shinyWidgets)
app = shinyApp(
ui = fluidPage(
DT::dataTableOutput("responses", width = 300), tags$hr(),
textInput("name", "Name", ""),
checkboxInput("used_shiny", "I've built a Shiny app in R before", FALSE),
sliderInput("r_num_years", "Number of years using R",
0, 25, 2, ticks = FALSE),
actionButton("submit", "Submit"),
pickerInput(
inputId = "lvl1",
label = "Level 1",
choices = c('one', 'two', 'three'),
options = list(
`actions-box` = TRUE,
size = 10,
`selected-text-format` = "count > 1"
),
multiple = TRUE
)
),
server = function(input, output, session) {
output$responses <- DT::renderDataTable({
data.frame(a = input$submit)
})
}
)
如果我只是在 RStudio 中输入它,它可以工作:
app
但是,如果我使用 runApp,pickerInput 小部件无法在浏览器中正确显示。
runApp(app, host="<some ip address>")
编辑 2:如果我使用runApp(app)
, 并在浏览器中打开,应用程序会正确显示。但是,如果我将浏览器中的 url 从 127.0.0.1:port 更改为 localhost:port,它将停止正确显示小部件。
编辑 3:
来自 chrome 开发工具的错误
Edit4:关闭并重新打开 R 会话后它工作正常。:-|