[英]problem with updateTabItems. in R shiny with Golem
我在 R 中使用 golem 構建應用程序。 我正在嘗試通過一個按鈕將 TabItem 從 tabItem (acceuil) 更改為另一個 tabItem (Rating)
這是模塊“Acceuil”
mod_Accueil_ui <- function(id){
ns <- NS(id)
tagList(
actionButton(ns("do"), "Click Me")
)
}
#' Accueil Server Functions
#'
#' @noRd
mod_Accueil_server <- function(id){
mod_Accueil_server <- function(id){
moduleServer( id, function(input,output,session){
ns <- session$ns
observeEvent(input$do, {
updateTabItems(session = session,inputId = "menu",selected = "Rating")
})
})
}
似乎 mod_Acceuil 無法識別 inputId 並在 updateTabItems 中選擇。 這是 app_ui 部分
sidebarMenu(id="menu",
tags$head(
menuItem("Rating", tabName = "Rating"),
menuItem("Accueil", tabName = "Accueil")
))
tabItems(
tabItem("Rating",mod_calcul_ui("calcul_ui_1") ),
tabItem("Accueil",mod_Accueil_ui("Accueil_1") )
)
所以問題是當我點擊“點擊我”按鈕時頁面沒有改變
未經測試:嘗試將父母的 session 傳遞給updateItems
。 這需要將父級的 session 添加到服務器模塊:
mod_Accueil_server <- function(id, parent) moduleServer(id,
function(input,output,session) {
ns <- session$ns
observeEvent(input$do, {
updateTabItems(
session=parent, # not the module's session
inputId="menu",selected = "Rating"
)
})
})
然后在主服務器function:
server <- function(input,output,session) {
mod_Accueil_server(id="Accueil", parent=session)
# ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.