1

当我使用 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 会话后它工作正常。:-|

4

0 回答 0