R shiny numericInput 步骤和最小值交互
R shiny numericInput step and min value interaction
考虑 R Shiny 应用程序中的以下数字小部件:
numericInput("val", "Enter value:", value = 50, min = 0, step = 5)
如果您在应用 运行 时单击小部件中的 up/down 箭头,该值将增加或减少 5(0、5、10、15,...)不出所料。
现在考虑将最小值更改为 1:
numericInput("val", "Enter value:", value = 50, min = 1, step = 5)
如果您现在单击 up/down 箭头,该值仍将 increase/decrease 增加 5,但从 1 开始,创建序列 1、6、11、16,...
当最小值为 1 时,是否可以保持 increments/decrements 为 5 但从 0 开始(因此序列为 0、5、10、15,...)?
一个可能需要这样做的例子(在我的例子中)是您希望用户输入一个(严格的)正数,但 increment/decrement 值为 5,因为 5 的倍数是漂亮、简单、四舍五入的数字(与 1、6、11、16 等相反)
您可以使用 updateNumericInput
来防止 numericInput
中出现空值。这是一个例子:
library(shiny)
ui <- fluidPage(
sidebarPanel(
numericInput("val", "Enter value:", value=50, min = 0, step = 5)
)
)
server <- function(input, output, session) {
observeEvent(input$val, {
x <- input$val
if (x == 0 | is.na(x)){
updateNumericInput(session, "val", value = 1)
}
})
}
shinyApp(ui, server)
考虑 R Shiny 应用程序中的以下数字小部件:
numericInput("val", "Enter value:", value = 50, min = 0, step = 5)
如果您在应用 运行 时单击小部件中的 up/down 箭头,该值将增加或减少 5(0、5、10、15,...)不出所料。
现在考虑将最小值更改为 1:
numericInput("val", "Enter value:", value = 50, min = 1, step = 5)
如果您现在单击 up/down 箭头,该值仍将 increase/decrease 增加 5,但从 1 开始,创建序列 1、6、11、16,...
当最小值为 1 时,是否可以保持 increments/decrements 为 5 但从 0 开始(因此序列为 0、5、10、15,...)?
一个可能需要这样做的例子(在我的例子中)是您希望用户输入一个(严格的)正数,但 increment/decrement 值为 5,因为 5 的倍数是漂亮、简单、四舍五入的数字(与 1、6、11、16 等相反)
您可以使用 updateNumericInput
来防止 numericInput
中出现空值。这是一个例子:
library(shiny)
ui <- fluidPage(
sidebarPanel(
numericInput("val", "Enter value:", value=50, min = 0, step = 5)
)
)
server <- function(input, output, session) {
observeEvent(input$val, {
x <- input$val
if (x == 0 | is.na(x)){
updateNumericInput(session, "val", value = 1)
}
})
}
shinyApp(ui, server)