r - 如何以闪亮的百分比显示“numericInput”中的值?
问题描述
我创建了一个闪亮的网页,并在侧边栏面板中使用了几个数字输入字段。其中一些应该以百分比显示值,而不应该是滑块。有人知道如何格式化数字输入字段吗?
解决方案
我可以想到两种方法。
1. 格式化内容
在服务器代码中使用文本字段并解析内容。该解决方案此时只能处理整数。基本上,它有效。然而,与之交互并不总是给你最好的可用性。
ui <- fluidPage(
titlePanel("Parsed Input with Unit Example"),
textInput("inpPercent", "Chances of Success", value = "20 %"),
h1(textOutput("txtSuccess"))
)
server <- function(session, input, output) {
observeEvent( input$inpPercent,{
Format <- "^[-+]?[ ]*[0-9]*[ ]*[%]?$"
# Trim
inp <- gsub("^\\s+|\\s+$", "", input$inpPercent)
if (!grepl(Format, inp)) {
Result <- "Invalid format"
inp <- numeric()
} else {
# Remove all spaces
inp <- gsub("[[:space:]]", "", inp)
# Split
if (grepl("%", inp)) inp <- gsub("%", "", inp)
inp <- suppressWarnings( as.numeric(inp) )
if (is.na(inp)) {
Result <- "Invalid format2"
inp <- numeric()
} else {
Result <- paste("Percent:", inp)
}
}
print(Result)
output$txtSuccess <- renderPrint(Result)
if (length(inp) > 0)
updateTextInput(session, inputId = "inpPercent", value = paste(inp, "%"))
})
}
2.闪亮的小部件:numericInputIcon
使用来自shinyWigdets包的小部件numericInputIcon 。设置这样的小部件非常容易。该文档也提供了百分比示例。
推荐阅读
- python - 如何通过用 Python 编写的 CGI 脚本执行 bash 脚本?
- reactjs - ScrollView 不会使用 scrollTo() 水平移动
- jquery - 从超链接渲染局部视图
- jsp - 如何在 EL 中引用 Java 接口常量
- c# - 使用映射而不是 switch/if else 调用具有不同参数的方法
- c# - 关闭窗口会引发 InvalidOperationException
- ios - 将 RTSP 的 ViewController 代码转换为 Swift 文件以调用 View Controller
- reactjs - 如何在用户点击事件中向 google-maps-react 添加坐标?
- firebase - request.writeFields.size() 对使用“serverTimestamp()”设置的字段计数两次
- r - 为语句找到 KNN 的最佳值