闪亮:根据单选按钮选择更新选择输入

时间:2018-08-11 19:34:24

标签: r shiny

我正在构建一个有光泽的应用程序,它有两个类。 A类,类别为a1,b1 ...,B类,类别为a2,b2 ...

我有一个带有“ Class A”和“ Class B”的单选按钮,并且根据选择,我想更新我的用户Input:

library(collapsibleTree)
library(shiny)
library(Cairo)
library(rsconnect)
shinyUI(fluidPage(
titlePanel("dsfs", align="center")),
sidebarLayout(
sidebarPanel(


#update selectInput based on it :
radioButtons(inputId = "buttons", "Selections", c("class A", "Class 
B"), 
selected = "Class A", inline = TRUE),


selectInput( "selection","Select a  Category ",choices = 
"",selected="")


),mainPanel(



diagonalNetworkOutput ("collapsiblenetwork")
)

))
)

server.r

    shinyServer(
    function(session,input,output){

output$collapsiblenetwork<-renderDiagonalNetwork({

if(input$buttons=="Class A"){
observeEvent( 
input$selection,updateSelectInput(session,"selection","Select a 
category ",choices = levels(class A$categories))
    )


user_input_value_superclass<-input$selection
    print(user_input_value_superclass)

# detection rate function :produces a  dataframe 
    classA_detect<- 
detecttion_rates(user_input_class_subclass_superclass = 
user_input_value_superclass,user_input_shiny_header ="Class A" )
    ClassA_superclass<-as.Node(ClassA_detect)    

    useRtreeList <- ToListExplicit(ClassA_superclass, unname = TRUE)
    network_plot<-diagonalNetwork( useRtreeList)


  }else if(input$buttons=="Class B") {


    observeEvent( 
   input$selection,updateSelectInput(session,"selection","Select a 
   category ",choices = levels(classB$categories))
    )

    user_input_value_subclass<-input$selection
   ClassB_detect<-detecttion_rates(user_input_class_subclass_superclass 
    = user_input_value_subclass,user_input_shiny_header = "Class B")

    ClassB_subclass<-as.Node(ClassB_detect)    

    useRtreeList <- ToListExplicit(ClassB_subclass, unname = TRUE)
    diagonalNetwork( useRtreeList)



  }   


})


})

代码产生,单选按钮和选择输入也相应地发生,但是,一旦我选择了除默认输入值之外的其他输入,对于该类,新选择的图就会在瞬间绘制出来,并自动呈现到原始图(即默认选择)。 其他一切工作正常。 我在更新选择输入后尝试打印输入,它会产生一个空字符串“”。 很抱歉,冗长的脚本。 谢谢!

0 个答案:

没有答案