我从代码中抽象了演示:
library(shiny)
library(bslib)
ui <- page_navbar(
checkboxInput("sltAccessible", "Accessible", value = FALSE),
actionButton("btnChat", 'chat')
)
server <- function(input, output, session) {
sltedAccessible <- reactiveVal(FALSE)
observe({
sltedAccessible(input$sltAccessible)
})
observeEvent(input$btnChat, {
updateCheckboxInput(session, "sltAccessible", value = TRUE)
})
}
shinyApp(ui = ui, server = server)
该按钮在此代码下不起作用。
我试图找到原因,当我将
page_navbar()
更改为 fluidpage()
或 page_sidebar()
等其他内容时,它起作用了!
但是为什么我不能使用
page_navbar()
,如果我改变这部分,我的项目需要做很多工作。谁能找到一种在不改变基本结构的情况下使用 page_navbar()
的方法吗?
您必须将按钮和复选框放在
nav_item()
元素内,位于 page_navbar()
: 内
ui <- page_navbar(
title = "App with navbar",
nav_item(
checkboxInput("sltAccessible", "Accessible", value = FALSE),
actionButton("btnChat", 'chat')
)
)