Shiny - 如何禁用 uiOutput 中使用的 numericInput 中的用户输入
Shiny - How to disable user input in numericInput used in uiOutput
我的代码:-
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"
也会相应地发生变化。
是的,我们可以使用 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)
我的代码:-
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"
也会相应地发生变化。
是的,我们可以使用 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)