我正在嘗試根據用戶輸入增加和減少 UI 元素的數量。這種 MRE 代碼可以作業,但是當我使用 removeUI 時,它會留下 UI 標簽,這是我沒想到的。關于如何使標簽與輸入框一起消失的任何想法?
## Only run this example in interactive R sessions
if (interactive()) {
# Define UI
ui <- fluidPage(
numericInput(inputId = "assessors",label = "Number of Assessors",value = 1,min = 1,step = 1),
textInput(inputId = "assessor1",label = "Assessor 1 Columns")
)
# Server logic
server <- function(input, output, session) {
tot_app<-0
observeEvent(input$assessors, {
num<-input$assessors
if(num>tot_app){#add
adds<-seq(tot_app 1,num)
for(i in adds){
here<-paste0("#assessor",i-1)
insertUI(
selector = here,
where = "afterEnd",
ui = textInput(paste0("assessor", i),
paste0("Assessor ",i," columns"))
)
}
tot_app<<-num
} else if(num<tot_app){#subtract
subs<-seq(num 1,tot_app)
for(i in subs){
removeUI(selector = paste0("#assessor",i))
}
tot_app<<-num
}
})
}
# Complete app with UI and server components
shinyApp(ui, server)
}
uj5u.com熱心網友回復:
與幫助示例中一樣,如果您使用以下語法,它就可以作業:
removeUI(selector = paste0("div:has(> #assessor",i,")"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430463.html
