相关疑难解决方法(0)

如何在Shiny中为传单显示(高级)自定义弹出窗口?

我正在使用R shiny来构建Web应用程序,其中一些正在利用伟大的传单功能.

我想创建一个定制的高级弹出窗口,但我不知道如何继续.

你可以看看我在github上为这篇文章创建的项目中可以做些什么,或者直接在shinyapp.io 这里

弹出窗口越复杂,我的代码就越奇怪,因为我有点以一种奇怪的方式组合R和html(参见我在server.R中定义我的custompopup'i'的方式).

还有更好的方法吗?构建此类弹出窗口有哪些好的做法?如果我打算根据点击的标记显示图表,我应该提前构建它们,还是可以"动态"构建它们?我怎样才能做到这一点?

非常感谢您对此的看法,请不要犹豫,在这里分享您的答案或直接更改我的github示例!

问候

r popup leaflet shiny

14
推荐指数
2
解决办法
5804
查看次数

绑定/解除绑定 DataTable 时的反应性问题

我有一个带有两个选项卡的闪亮应用程序,每个选项卡都有一个包含 numericInputs 的 DataTable,因此我必须绑定和取消绑定 DataTable 才能使 numericInputs 工作。不幸的是,这造成了反应性问题,我希望有人可以提供帮助。在下面的示例中,如果您更改侧边栏上确定表中数据的输入,则只有打开的选项卡中的表才会实际更新/反应。

library(shiny) 
library(DT) 
shinyApp( 
  ui = fluidPage(
    sidebarPanel(
      # choose dataset
      selectInput("select","Choose dataset",c("mtcars","iris"))),
    # display table
    mainPanel(
      tabsetPanel(tabPanel("one",DT::dataTableOutput('x1')),
                  tabPanel("two",DT::dataTableOutput('x2'))),
      tags$script(HTML("Shiny.addCustomMessageHandler('unbind-DT', function(id) {
                       Shiny.unbindAll($('#'+id).find('table').DataTable().table().node());
                       })")))), 

  server = function(session, input, output) { 
    # function for dynamic inputs in DT
    shinyInput <- function(FUN,id,num,...) {
      inputs <- character(num)
      for (i in seq_len(num)) {
        inputs[i] <- as.character(FUN(paste0(id,i),label=NULL,...))
      }
      inputs
    }
    # function to read DT inputs
    shinyValue <- function(id,num) {
      unlist(lapply(seq_len(num),function(i) {
        value <- input[[paste0(id,i)]]
        if (is.null(value)) NA …
Run Code Online (Sandbox Code Playgroud)

r shiny dt

6
推荐指数
1
解决办法
883
查看次数

在 Shiny 中为表格的每一行选择输入

我有一个包含三列和可变行数的表。我想创建一个列,以便新列的每一行都包含一个值为 Yes/No 的 selectInput。

简而言之,我如何自动生成等于表中行数的 selectInput

这是一个简单的代码:

library(shiny)
library(rhandsontable)

ui <- fluidPage(

  tableOutput('Simpletable')

)

server <- function(input,output,session)({

  data <- data.frame(c1=c(5,10,15), c2=c(3,6,9) , diff=c(0,0,0), select= as.logical( c(FALSE,FALSE,FALSE)))


  output$Simpletable <- renderTable(
    data
  )

}) 

shinyApp(ui = ui, server = server) 
Run Code Online (Sandbox Code Playgroud)

对于这个表,三个 selectInputs 应该出现在表的旁边

这可能吗 ?

谢谢

r shiny

2
推荐指数
1
解决办法
1431
查看次数

标签 统计

r ×3

shiny ×3

dt ×1

leaflet ×1

popup ×1