我想在ui.R中添加两个按钮,闪亮的R.按钮“添加”和“删除”以修改矢量。
目前只有一个按钮可以,如何在代码中添加删除按钮?似乎renderText()只能有一个依赖。
以下代码中有一个按钮“添加”,如何添加“删除”?
server.R
equity_list = c()
shinyServer(function(input, output) {
output$nText <- renderText({
input$addButton
isolate({equity_list <<- append(equity_list, input$symb)})
})
})
ui.R
shinyUI(pageWithSidebar(
headerPanel("actionButton test"),
sidebarPanel(
textInput("symb", "Symbol", "SPY"),
br(),
actionButton("addButton", "Add")
actionButton("DelButton", "Delete"),
p("Click the button to update the value displayed in the main panel.")
),
mainPanel(
verbatimTextOutput("nText")
)
))
答案 0 :(得分:1)
我确定有更好的解决方案,所以我会发布我的快速解决方案。
您可以创建两个可观察按钮的按钮。我创建了两个加或减的按钮。然后在反应式表达式中,我已经隔离了minus
选项,同时plus
选项会在按下时随时关闭,因此它被设置为>0
rm(list = ls())
library(shiny)
equity_list <- c("AAPL","GOOG")
runApp(list(ui = pageWithSidebar(
headerPanel("Testing how to add and subtract"),
sidebarPanel(actionButton("minus", "-"),actionButton("plus", "+"),
textInput("symb", "Symbol", "SPY")),
mainPanel(verbatimTextOutput("nText"))
),
server = function(input,output,session) {
observe({
input$plus
equity_list <<- append(equity_list, input$symb)
})
observe({
input$minus
equity_list <<- equity_list[-length(equity_list)]
})
my_equity_list <- reactive({
if(input$minus==0)
{
equity_list
}
isolate({
input$minus
equity_list
})
if(input$plus > 0)
{
equity_list
}
})
output$nText <- renderText({
my_equity_list()
})
}
)
)