使用Shiny中的动态UI更新存储桶列表(带有可重现的示例)

tfr950

我正在构建一个闪亮的应用程序,我想在其中使用存储区列表。我想使用该存储桶列表是动态的,因为存储桶列表的选项仅是先前菜单选项中所选分区的工厂。因此,换句话说,当选择一个部门,遗愿清单上的选项将在某一特定部门改变,只有那些植物。

以下是此项目的示例闪亮应用程序。本质上,我想要的只是使第一级列表上的标签动态并在用户过滤除法时更改。我已经做了一些研究,但完全被困在这里。我的猜测是这并不难,但我很沮丧。任何帮助是极大的赞赏!

library(shiny)
library(tidyverse)
library(DT)
library(shinydashboard)
library(shinythemes)
library(sortable)

#dataframe for this sample:
data<- data.frame(division = c(1,1,1,1,2,2,2,2,3,3,3,3),
               plant = c("a", "b", "c", "d", "a", "x", "m", "p", "c", "x", "a", "b"),
               value = c(12,15,23,15,14,64,63,12,4, 18, 31, 1))

# Define UI for application that draws a histogram
ui <- dashboardPage(
 dashboardHeader(title = "Test App"),
 dashboardSidebar(
     sidebarMenu(
         menuItem("Data", tabName = "data"),
         menuItem("Drag and Drop", tabName = "drag")
     )
 ),
 dashboardBody(
     sidebarPanel(width = 3,
                  selectInput("division", "Select Division:", choices = c("all", 1,2,3))
                  
                  ),
               
     tabItems(
         tabItem(tabName = "data",
              box(title = "Data", width = 9, status = "primary", height = "auto",
                 solidHeader = T, dataTableOutput("preview1"))
             ),
         tabItem(tabName = "drag",
             bucket_list(
                 header = "Interactive bucket list",
                 group_name = "bucket_list_group",
                 orientation = "horizontal",
                 add_rank_list(text = "Bucket 1",
                               labels = c("a", "b", "c"), input_id = "default"),
                 add_rank_list(text = "bucket 2",
                               labels = NULL,
                               input_id = "bucket2")
                 )
             )
     )
 )
     
)
# Define server logic required to draw a histogram
server <- function(input, output) {
 filtered<- reactive({
     if(input$division == "all"){
         data
     } else{
         data %>% filter(division == input$division)
     }
 })
 output$preview1<-renderDataTable(
     datatable(filtered(), options = list(searching = T, pageLength =10, scrollX = T))
 )
}

# Run the application 
shinyApp(ui = ui, server = server)
斯蒂芬

如果我做对了,那么您可以通过uiOutputrenderUI这样的方式来达到您想要的结果

library(shiny)
library(tidyverse)
library(DT)
library(shinydashboard)
library(shinythemes)
library(sortable)

#dataframe for this sample:
data<- data.frame(division = c(1,1,1,1,2,2,2,2,3,3,3,3),
                  plant = c("a", "b", "c", "d", "a", "x", "m", "p", "c", "x", "a", "b"),
                  value = c(12,15,23,15,14,64,63,12,4, 18, 31, 1))

# Define UI for application that draws a histogram
ui <- dashboardPage(
  dashboardHeader(title = "Test App"),
  dashboardSidebar(
    sidebarMenu(
      menuItem("Data", tabName = "data"),
      menuItem("Drag and Drop", tabName = "drag")
    )
  ),
  dashboardBody(
    sidebarPanel(width = 3,
                 selectInput("division", "Select Division:", choices = c("all", 1,2,3))
                 
    ),
    
    tabItems(
      tabItem(tabName = "data",
              box(title = "Data", width = 9, status = "primary", height = "auto",
                  solidHeader = T, dataTableOutput("preview1"))
      ),
      tabItem(tabName = "drag",
              uiOutput("bucket")
      )
    )
  )
  
)
# Define server logic required to draw a histogram
server <- function(input, output) {
  filtered<- reactive({
    if(input$division == "all"){
      data
    } else{
      data %>% filter(division == input$division)
    }
  })
  
  output$bucket <- renderUI({
    bucket_list(
      header = "Interactive bucket list",
      group_name = "bucket_list_group",
      orientation = "horizontal",
      add_rank_list(text = "Bucket 1",
                    labels = unique(filtered()$plant), input_id = "default"),
      add_rank_list(text = "bucket 2",
                    labels = NULL,
                    input_id = "bucket2")
    )  
  })
  
  output$preview1<-renderDataTable(
    datatable(filtered(), options = list(searching = T, pageLength =10, scrollX = T))
  )
}

# Run the application 
shinyApp(ui = ui, server = server)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:如何将一个列表中的向量并行添加到另一个列表中(带有可重现的示例)

来自分类Dev

带有Knitr的R中可重现的临时报告

来自分类Dev

在Shiny App中动态更新选择列表

来自分类Dev

R Shiny:创建动态存储区列表UI输出

来自分类Dev

如何使用boto3从名称中带有句点(。)的存储桶访问密钥?

来自分类Dev

使用python在csv中存储带有列表值的字典

来自分类Dev

使用本地存储将带有动态键的数据存储在嵌套对象中

来自分类Dev

查询带有可动态化的样式化列表

来自分类Dev

在Heroku上使用Boto时,无法连接名称中带有句点的S3存储桶

来自分类Dev

如何在Android中动态地使用带有可滚动内容的固定标头?

来自分类Dev

如何在Android中动态地使用带有可滚动内容的固定标头?

来自分类Dev

无法重现使用OpenCV中的HoughLines for python的示例

来自分类Dev

可重现的示例和输出错误

来自分类Dev

带有动态轴的 Brainscript 示例

来自分类Dev

从 AWS 中的 S3 存储桶加载带有基石 js 的 dicom 文件

来自分类Dev

无法使用 terraform 创建带有版本控制的 s3 存储桶

来自分类Dev

使用JavaScript从PHP数组中填充带有选项的动态创建的下拉列表

来自分类Dev

具有置信区间和引导程序返回异常的熊猫中的箱线图 - 虹膜数据集的可重现示例

来自分类Dev

在Shiny中需要使用updateRadioGroupButtons动态更新下拉选项

来自分类Dev

我必须使用存储在列表中的表达式,但是由于它们在列表中,因此带有“ [expression]”

来自分类Dev

如何使用Python在PowerBI中制作可重现的数据样本?

来自分类Dev

Java 中的可重现加密(可能使用 Jasypt)

来自分类Dev

带有示例的可用字体列表

来自分类Dev

使用TraitsUI的带有列表的可滚动组

来自分类Dev

从存储桶中读取所有文档

来自分类Dev

带有嵌套存储桶聚合的elasticsearch“尝试创建太多存储桶”

来自分类Dev

如何在使存储桶动态变化的同时,将通用策略附加到多个存储桶中?

来自分类Dev

使用带有存储过程的MVC绑定下拉列表

来自分类Dev

使用带有存储过程的 dapper 到列表

Related 相关文章

  1. 1

    R:如何将一个列表中的向量并行添加到另一个列表中(带有可重现的示例)

  2. 2

    带有Knitr的R中可重现的临时报告

  3. 3

    在Shiny App中动态更新选择列表

  4. 4

    R Shiny:创建动态存储区列表UI输出

  5. 5

    如何使用boto3从名称中带有句点(。)的存储桶访问密钥?

  6. 6

    使用python在csv中存储带有列表值的字典

  7. 7

    使用本地存储将带有动态键的数据存储在嵌套对象中

  8. 8

    查询带有可动态化的样式化列表

  9. 9

    在Heroku上使用Boto时,无法连接名称中带有句点的S3存储桶

  10. 10

    如何在Android中动态地使用带有可滚动内容的固定标头?

  11. 11

    如何在Android中动态地使用带有可滚动内容的固定标头?

  12. 12

    无法重现使用OpenCV中的HoughLines for python的示例

  13. 13

    可重现的示例和输出错误

  14. 14

    带有动态轴的 Brainscript 示例

  15. 15

    从 AWS 中的 S3 存储桶加载带有基石 js 的 dicom 文件

  16. 16

    无法使用 terraform 创建带有版本控制的 s3 存储桶

  17. 17

    使用JavaScript从PHP数组中填充带有选项的动态创建的下拉列表

  18. 18

    具有置信区间和引导程序返回异常的熊猫中的箱线图 - 虹膜数据集的可重现示例

  19. 19

    在Shiny中需要使用updateRadioGroupButtons动态更新下拉选项

  20. 20

    我必须使用存储在列表中的表达式,但是由于它们在列表中,因此带有“ [expression]”

  21. 21

    如何使用Python在PowerBI中制作可重现的数据样本?

  22. 22

    Java 中的可重现加密(可能使用 Jasypt)

  23. 23

    带有示例的可用字体列表

  24. 24

    使用TraitsUI的带有列表的可滚动组

  25. 25

    从存储桶中读取所有文档

  26. 26

    带有嵌套存储桶聚合的elasticsearch“尝试创建太多存储桶”

  27. 27

    如何在使存储桶动态变化的同时,将通用策略附加到多个存储桶中?

  28. 28

    使用带有存储过程的MVC绑定下拉列表

  29. 29

    使用带有存储过程的 dapper 到列表

热门标签

归档