考虑一下R Shiny应用程序中的以下数字小部件:
numericInput("val", "Enter value:", value = 50, min = 0, step = 5)
如果在运行应用程序时单击窗口小部件中的向上/向下箭头,则该值将按预期增加或减少5(0、5、10、15 ...)。
现在考虑将最小值更改为1:
numericInput("val", "Enter value:", value = 50, min = 1, step = 5)
如果现在单击向上/向下箭头,该值仍将增加/减少5,但从1开始,创建顺序1、6、11、16 ...
当最小值为1时,是否可以将增量/减量保持为5但从0开始(因此序列为0、5、10、15 ...)?
例如,您可能希望用户输入一个(严格地)正数,但是由于5的倍数是个好,简单的四舍五入数字,因此希望用户输入一个(严格的)正数,但其增减值是5(而不是1、6、11、16等)。
您可以使用updateNumericInput
来防止null值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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句