令人耳目一新的闪亮应用程序UI

时间:2015-11-26 16:46:18

标签: r shiny

我正在创建一个Shiny应用程序,它有一个下拉列表,需要根据单击的单选按钮进行更新。我会根据单选按钮更新列表,但仍保留上一个选项中的最后一个选项。我包含了使代码更清晰的代码

  ui.R
  fluidRow(
                            column(3,
                                   radioButtons("matchType", label = h3("Match type"),
                                                choices = list("Test" = "Test",
                                                               "ODI" = "ODI", 
                                                               "Twenty20" = "TT"), 
                                                inline=TRUE,
                                                selected = "Test"),
                                   selectizeInput(
                                       "batsman", label = "Players", choices = NULL, multiple=FALSE,selected="tendulkar",
                                       options = list(create = TRUE,placeholder = 'Choose the player',size=12)

                                   ),
                                   selectizeInput(
                                       "batsmanFunc", label = "Choose chart type", choices = NULL, multiple=FALSE,selected="4s of batsman",
                                       options = list(create = TRUE,placeholder = 'Choose the chart')

                                   )

                            ),

我已经设置了server.R,如下所示

 server.R

 output$batsmanPlot <- renderPlot({  
    # Include the list to display in the drop downs on choice of matchType
    if(input$matchType == "Test"){

        updateSelectizeInput(session, 'batsman', choices = testBatsman, server = TRUE,selected=input$batsman)
        updateSelectizeInput(session, 'batsmanFunc', choices = funcs, server = TRUE,selected=input$batsmanFunc)

    } else {

        updateSelectizeInput(session, 'batsman', choices = odiBatsman, server = TRUE,selected=input$batsman)
        updateSelectizeInput(session, 'batsmanFunc', choices = funcsODITT, server = TRUE,selected=input$batsmanFunc)
    }
    print(input$batsman)
    analyzeBatsman(input$batsman,input$batsmanFunc,input$matchType)

})

有两个问题 1)因为我使用selected = input $ batsman,所以下拉列表最初是空白的。如果我为此选择了固定值,则每次选择另一个值时,它将显示新值,然后返回到所选值。我认为这是因为updateSelectize在renderPlot

2)当我在单选按钮和#34;测试&#34; /&#34; ODI&#34;之间切换时,最后选择的播放器不会被清除。新列表将附加到最后选择的播放器。下一次,它是实际的列表。

如何解决这个问题?

0 个答案:

没有答案