我的代码:-
library(shiny)
ui <- fluidPage(
titlePanel("Find square of x"),
numericInput("x","x:",5),
uiOutput("y")
)
server <- function(input, output){
output$y <- renderUI({
numericInput("y","Square of x:",input$x * input$x)
})
}
shinyApp(ui = ui, server = server)
在此应用中,用户可以更改输出"Square of x"
的值。有什么方法可以防止这种情况发生(意味着可以在输出中禁用用户输入)。
或者诸如用户修改输出"Square of x"
而不是输入"x"
之类的东西也会得到相应的更改。
答案 0 :(得分:2)
是的,我们可以使用shinyjs
:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
titlePanel("Find square of x"),
numericInput("x","x:",5),
numericInput("y","Square of x:",NULL)
)
server <- function(input, output,session){
observeEvent(input$x,{
updateNumericInput(session, "y", value = input$x * input$x)
disable("y")
})
}
shinyApp(ui = ui, server = server)