スライダの値をmainPanel単位でテーブルの値を更新したいとします。私のコードは以下の通りです。アクションボタンはスライダ入力値を更新しません
library(shiny)
ui <- shinyUI(fluidPage(
sidebarPanel(
selectInput(inputId="Zone", label="Choose Forecasting Zone:",choices = list("North", "South")),
wellPanel(
conditionalPanel(
condition = "input.Zone == 'North'",
sliderInput("num1", "No of Sellers:",0,3500,value = c(2877,3277),step=1),
sliderInput("num3", "Activation Percentage:",0,1,value = c(0.25,0.32),step=0.01),
sliderInput("num5", "Case Size:",0,200000,value = c(60000,75000),step=1),
sliderInput("num7", "Case Rate:",0,4,value = c(1.34,1.45),step=0.01)
),
conditionalPanel(
condition = "input.Zone == 'South'",
sliderInput("num1", "No of Sellers:",0,3500,value = c(1008,1148),step=1),
sliderInput("num3", "Activation Percentage:",0,1,value = c(0.26,0.32),step=0.01),
sliderInput("num5", "Case Size:",0,200000,value = c(70000,80000),step=1),
sliderInput("num7", "Case Rate:",0,4,value = c(1.15,1.22),step=0.01)
),
actionButton("sumbit", "Submit")
)
),
mainPanel("",htmlOutput("ValueTable"))
)
)
server <- function(input, output, session) {
aab <- reactive({
input$sumbit
isolate({
a1<-cbind(input$num1[1],input$num1[2])
a2<-cbind(input$num3[1],input$num3[2])
a3<-cbind(input$num5[1],input$num5[2])
a4<-cbind(input$num7[1],input$num7[2])
aa<-cbind(input$Zone,a1,a2,a3,a4)
aa
})
})
output$ValueTable <- renderUI({
input$sumbit
isolate({
aa<-aab()
aa<-as.data.frame(aa)
output$aa1 <- renderDataTable(aa,options = list(paging = FALSE,searching = FALSE,info=FALSE,autowidth=TRUE))
dataTableOutput("aa1")
})
})
}
shinyApp(ui, server)
私がNorthとしてZoneを選択してSubmitを押すと、正しい値が表示されます。しかし、私がSouth as Zoneを選択すると、スライダは基本条件付きパネルを変更しますが、テーブルの値はまだ北です。
どうすればこの問題を解決できますか?私は送信ボタンを押すと
おかげ
溶液 - です。 – user1463242
問題が解決しました。私は 'observeEvent'を使用して、それぞれのゾーン選択のスライダ値を変更しました。 – user1463242
上記の例のソリューションコードを回答として投稿できますか? – Wietze314