R shiny: So erstellen Sie eine dynamische Benutzeroberfläche (Texteingabe)
Ich versuche, dynamische Texteingabe mit R Shiny zu erstellen. Der Benutzer sollte in ein Textfeld schreiben und dann eine Schaltfläche zum Hinzufügen drücken, um ein anderes Feld zu füllen. Jedes Mal, wenn ich den Knopf drücke, werden alle Felder leer. Es ist so, als ob ich im Voraus definieren muss, wie viele Felder ich haben möchte. Jede Hilfe wird sehr geschätzt.
Danke
Hier ist mein Code:
library(shiny)
shiny::runApp(list(
ui = pageWithSidebar(
headerPanel("test"),
sidebarPanel(
helpText("Alternatives list"),
verbatimTextOutput("summary")
),
mainPanel(
actionButton("obs","add"),
htmlOutput("selectInputs")
)
)
,
server = function(input,output){
observe({
if (input$obs == 0)
return()
isolate({
output$selectInputs <- renderUI({
if(!is.null(input$obs))
print("w")
w <- ""
for(i in 1:input$obs) {
w <- paste(w,textInput(paste("a",i,sep=""),paste("a",i,sep="")))
}
HTML(w)
})
output$summary <- renderPrint({
print("your Alternative are:")
for(i in 1:input$obs) {
print(
input[[sprintf("a%d",i)]]
)
}
})
outputOptions(output, 'selectInputs', suspendWhenHidden=FALSE)
})
})
}))