【问题标题】:"Next" button page in a R shinyR闪亮中的“下一步”按钮页面
【发布时间】:2026-02-06 20:50:01
【问题描述】:

我想问。如何使用此代码在闪亮的 R 中制作按钮下一页?

library(shiny)
library(shinydashboard)
library(shinyalert)
library(rvest)
library(shinyBS)
library(shinydashboardPlus)

ui <- dashboardPagePlus(
    
    # H E A D E R
    
    dashboardHeaderPlus(title = tagList(
        span(class = "logo-lg", "NAMA APP"), 
        img(src = "https://image.flaticon.com/icons/svg/204/204074.svg"))),
    
    # S I D E B A R
    
    dashboardSidebar(
        
        sidebarMenu(id = "menu",
                    menuItem(tabName = "korelasi", "Dashboard", icon = icon("project-diagram", lib = "font-awesome")),
                    menuItem(tabName = "tingkat", "Check",icon = icon("user-check", lib = "font-awesome")),
                    menuItem(tabName = "tentang", "Tentang", icon = icon("address-card", lib = "font-awesome"))
                    # Add buttons to choose the way you want to select your data
        )),
    
    # B O D Y
    dashboardBody(
        tabItems(
            tabItem(tabName = "korelasi",
                    h2("Korelasi")
            ),
            tabItem(tabName = "tentang",
                    h2("about")
            ),
            tabItem(tabName = "tingkat",
                    fluidRow(
                        column(
                            #IDENTITAS
                            box(width = 12,
                                height = "100%",
                                textInput("projnama", "Nama"),
                                selectInput("projumur", "Umur", c("Pilih Jawaban"='', "60":"100")),
                                selectInput("projgender", "Jenis Kelamin", c("Pilih Jawaban"='', "Laki-Laki","Perempuan"))
                            ),

#I WANT BUTTON NEXT PAGE HERE, SO THE NEXT PAGE IS "ADLS"

                            #ADLS
                            box(title="Dalam 30 hari terakhir, seberapa sulit Anda melakukan aktivitas berikut ini:", width = 12, collapsible = FALSE, 
                                #SOAL 1
                                box(status = "warning",
                                    title = "Mandi",
                                    solidHeader = TRUE,
                                    width = 12,
                                    height = "100%",
                                    bsButton("s1p1", "Tidak ada masalah",width ="100%"),
                                    br(), br(),
                                    actionButton("s1p2", "Ringan",width ="100%"),
                                    br(), br(),
                                    actionButton("s1p3", "Sedang",width ="100%"),
                                    br(), br(),
                                    actionButton("s1p4", "Sangat berat/tidak bisa",width ="100%"),
                                    br(), br(),
                                    textOutput("count1")
                                ),
                                #SOAL 2
                                box(status = "warning",
                                    title="Berpakaian",
                                    solidHeader = T,
                                    width = 12,
                                    height = "100%",
                                    actionButton("s2p1", "Tidak ada masalah",width ="100%"),
                                    br(),br(),
                                    actionButton("s2p2", "Ringan",width ="100%"),
                                    br(),br(),
                                    actionButton("s2p3", "Sedang",width ="100%"),
                                    br(),br(),
                                    actionButton("s2p4", "Sangat berat/tidak bisa",width ="100%"),
                                    br(),br(),
                                    textOutput("count2")
                                ),
                                #SOAL 3
                                box(status = "warning",
                                    title="Makan",
                                    solidHeader = T,
                                    width = 12,
                                    height = "100%",
                                    actionButton("s3p1", "Tidak ada masalah",width ="100%"),
                                    br(),br(),
                                    actionButton("s3p2", "Ringan",width ="100%"),
                                    br(),br(),
                                    actionButton("s3p3", "Sedang",width ="100%"),
                                    br(),br(),
                                    actionButton("s3p4", "Sangat berat/tidak bisa",width ="100%"),
                                    br(),br(),
                                    textOutput("count3")
                                ),
                                #SOAL 4
                                box(status = "warning",
                                    title="Bangun dari kondisi berbaring (transfer)",
                                    solidHeader = T,
                                    width = 12,
                                    height = "100%",
                                    actionButton("s4p1", "Tidak ada masalah",width ="100%"),
                                    br(),br(),
                                    actionButton("s4p2", "Ringan",width ="100%"),
                                    br(),br(),
                                    actionButton("s4p3", "Sedang",width ="100%"),
                                    br(),br(),
                                    actionButton("s4p4", "Sangat berat/tidak bisa",width ="100%"),
                                    br(),br(),
                                    textOutput("count4")
                                ),
                                #SOAL 5
                                box(status = "warning",
                                    title="Pergi ke toilet dan menggunakan toilet",
                                    solidHeader = T,
                                    width = 12,
                                    height = "100%",
                                    actionButton("s5p1", "Tidak ada masalah",width ="100%"),
                                    br(),br(),
                                    actionButton("s5p2", "Ringan",width ="100%"),
                                    br(),br(),
                                    actionButton("s5p3", "Sedang",width ="100%"),
                                    br(),br(),
                                    actionButton("s5p4", "Sangat berat/tidak bisa",width ="100%"),
                                    br(),br(),
                                    textOutput("count5")
                                )),
                            
                            width = 12)),
            ))
        
    )
)

server <- function(input, output) {
    
    
}

# Return a Shiny app objectshinyApp(ui = ui, server = server)
shinyApp(ui = ui, server = server)

【问题讨论】:

    标签: r shiny shinydashboard shinyapps


    【解决方案1】:

    也许你正在寻找这个

    ui <- dashboardPage(
    
      # H E A D E R
    
      dashboardHeader(title = "Social Media Metrics", titleWidth = 320),
      # dashboardHeaderPlus(title = tagList(
      #   #span(class = "logo-lg", "NAMA APP"),
      #   #img(src = "https://image.flaticon.com/icons/svg/204/204074.svg")
      #   )),
    
      # S I D E B A R
    
      dashboardSidebar(
    
        sidebarMenu(id = "menu",
                    menuItem(tabName = "korelasi", "Dashboard", icon = icon("project-diagram", lib = "font-awesome")),
                    menuItem(tabName = "tingkat", "Check",icon = icon("user-check", lib = "font-awesome")),
                    menuItem("Tentang", tabName = "tentang",  icon = icon("address-card", lib = "font-awesome")),
                    # Add buttons to choose the way you want to select your data
                    menuItem("Tentang1", tabName = "tentang1",  icon = icon("address-card", lib = "font-awesome")),
                    menuItem("Tentang2", tabName = "tentang2",  icon = icon("address-card", lib = "font-awesome"))
    
        )),
    
      # B O D Y
      dashboardBody(
        tabItems(
          tabItem(tabName = "korelasi",
                  h2("Korelasi")
          ),
          tabItem(tabName = "tingkat",
                  h2("about")
          ),
          tabItem(tabName = "tentang",
                  fluidRow(
                    column(width=12,
                      #IDENTITAS
                      box(width = 12,
                          height = "100%",
                          textInput("projnama", "Nama"),
                          selectInput("projumur", "Umur", c("Pilih Jawaban"='', "60":"100")),
                          selectInput("projgender", "Jenis Kelamin", c("Pilih Jawaban"='', "Laki-Laki","Perempuan"))
                      )
                    )), actionButton(inputId="ok1", label="NEXT")
          ),
                      #I WANT BUTTON NEXT PAGE HERE, SO THE NEXT PAGE IS "ADLS"
          tabItem(tabName = "tentang1",
                  fluidRow(
                    column(width=12,
                      #ADLS
                      box(title="Dalam 30 hari terakhir, seberapa sulit Anda melakukan aktivitas berikut ini:", width = 12, collapsible = FALSE,
                          #SOAL 1
                          box(status = "warning",
                              title = "Mandi",
                              solidHeader = TRUE,
                              width = 12,
                              height = "100%",
                              bsButton("s1p1", "Tidak ada masalah",width ="100%"),
                              br(), br(),
                              actionButton("s1p2", "Ringan",width ="100%"),
                              br(), br(),
                              actionButton("s1p3", "Sedang",width ="100%"),
                              br(), br(),
                              actionButton("s1p4", "Sangat berat/tidak bisa",width ="100%"),
                              br(), br(),
                              textOutput("count1")
                          ),
                          #SOAL 2
                          box(status = "warning",
                              title="Berpakaian",
                              solidHeader = T,
                              width = 12,
                              height = "100%",
                              actionButton("s2p1", "Tidak ada masalah",width ="100%"),
                              br(),br(),
                              actionButton("s2p2", "Ringan",width ="100%"),
                              br(),br(),
                              actionButton("s2p3", "Sedang",width ="100%"),
                              br(),br(),
                              actionButton("s2p4", "Sangat berat/tidak bisa",width ="100%"),
                              br(),br(),
                              textOutput("count2")
                          )
                      ))
                  ), 
                  fluidRow(column(12, div(actionButton(inputId="ok2", label="NEXT"), style="float:right")))
          ),
          #I WANT BUTTON NEXT PAGE HERE, SO THE NEXT PAGE IS "ADLS"
          tabItem(tabName = "tentang2",
                  fluidRow(
                    column(width=12,
                      box(title="Dalam 30 hari terakhir, seberapa sulit Anda melakukan aktivitas berikut ini:", width = 12, collapsible = FALSE,
                          #SOAL 3
                          box(status = "warning",
                              title="Makan",
                              solidHeader = T,
                              width = 12,
                              height = "100%",
                              actionButton("s3p1", "Tidak ada masalah",width ="100%"),
                              br(),br(),
                              actionButton("s3p2", "Ringan",width ="100%"),
                              br(),br(),
                              actionButton("s3p3", "Sedang",width ="100%"),
                              br(),br(),
                              actionButton("s3p4", "Sangat berat/tidak bisa",width ="100%"),
                              br(),br(),
                              textOutput("count3")
                          ),
                          #SOAL 4
                          box(status = "warning",
                              title="Bangun dari kondisi berbaring (transfer)",
                              solidHeader = T,
                              width = 12,
                              height = "100%",
                              actionButton("s4p1", "Tidak ada masalah",width ="100%"),
                              br(),br(),
                              actionButton("s4p2", "Ringan",width ="100%"),
                              br(),br(),
                              actionButton("s4p3", "Sedang",width ="100%"),
                              br(),br(),
                              actionButton("s4p4", "Sangat berat/tidak bisa",width ="100%"),
                              br(),br(),
                              textOutput("count4")
                          ),
                          #SOAL 5
                          box(status = "warning",
                              title="Pergi ke toilet dan menggunakan toilet",
                              solidHeader = T,
                              width = 12,
                              height = "100%",
                              actionButton("s5p1", "Tidak ada masalah",width ="100%"),
                              br(),br(),
                              actionButton("s5p2", "Ringan",width ="100%"),
                              br(),br(),
                              actionButton("s5p3", "Sedang",width ="100%"),
                              br(),br(),
                              actionButton("s5p4", "Sangat berat/tidak bisa",width ="100%"),
                              br(),br(),
                              textOutput("count5")
                          ))
                    )
          ))
    
      )
    ))
    
    server <- function(input, output, session) {
      observeEvent(input$ok1, {
        updateTabItems(session, "menu", "tentang1") 
      })
      
      observeEvent(input$ok2, {
        updateTabItems(session, "menu", "tentang2") 
      })
      
    }
    
    # Return a Shiny app objectshinyApp(ui = ui, server = server)
    shinyApp(ui = ui, server = server)
    

    【讨论】:

    • 对不起,我的意思是“identitas”表单下的下一个按钮,在同一个菜单项中
    • 我不确定我是否理解您的问题。也许你可以在你的问题中澄清一点。
    • 你把下一个按钮放在“菜单子项”里,我希望它在框下面(nama, umur, jenis kelamin)。抱歉我不能上传图片:(