使用 shinyBS 时,字符串中的单引号将 sliderInput 转换为 numericInput
single quote in string transforms sliderInput into numericInput when using shinyBS
我想使用包 shinyBS
和函数 tipify
向我的操作按钮或滑块添加工具提示。
我为工具提示的 "title" 参数添加了一个文本。但是,当我的文本有撇号(单引号)时,它会出错。
actionButton 本身的标签不会发生这种情况!
library(shiny); library(shinyBS)
shinyApp(ui = basicPage(p("title"), uiOutput("button_with_tooltip"), uiOutput("input_slider")),
server = function(input, output, session){
output$button_with_tooltip = renderUI({
tipify(actionButton("button", label="I'm doing nothing"), title="I am doing nothing")})})
如果您将工具提示标题从 "I am" 更改为 "I'm",它将不会显示。
这个错误的更令人惊讶的行为后果是 inputSlider
,当工具提示的标题中有单引号时,它们会自动将自己转换为 numericInput
...很奇怪!试试这个:
shinyApp(
ui = basicPage(p("title"), uiOutput("input_slider")),
server = function(input, output, session){
output$input_slider = renderUI({
tipify(sliderInput("slider", label="I'm a simple slider", min=0, max=10, value=5), title="I'm doing nothing")
})})
为什么会发生这种情况,我该如何覆盖它?谢谢,
注意:我是法国人所以我需要撇号
谢谢,
我们可以逃跑\'
library(shiny)
library(shinyBS)
shinyApp(
ui = basicPage(p("title"), uiOutput("input_slider")),
server = function(input, output, session){
output$input_slider = renderUI({
tipify(sliderInput("slider", label="I'm a simple slider",
min=0, max=10, value=5), title="I\'m doing nothing")
})})
--输出
看起来这是一个错误,已在 GitHub 的最新版本中修复:
- https://github.com/ebailey78/shinyBS/commit/67ba9a262115aba974f2f0ab0d11095aee839b53 (2015-04-28)
- https://github.com/ebailey78/shinyBS/issues/30
但最新的 CRAN 版本有点旧 (2015-03-31)。我在 GitHub 和 运行 上安装了最新版本,没有问题。
devtools::install_github("ebailey78/shinyBS@shinyBS3")
tipify
通过在页面上嵌入 JavaScript 添加工具提示。问题是 JavaScript 代码是用单引号字符串构造的,但字符串内容没有被转义。这会导致 JavaScript 解析错误,这就是滑块看起来像普通 <input>
元素的原因。
您可以像@akrun 显示的那样使用反斜杠转义撇号,或者 HTML 使用 '
转义
我想使用包 shinyBS
和函数 tipify
向我的操作按钮或滑块添加工具提示。
我为工具提示的 "title" 参数添加了一个文本。但是,当我的文本有撇号(单引号)时,它会出错。
actionButton 本身的标签不会发生这种情况!
library(shiny); library(shinyBS)
shinyApp(ui = basicPage(p("title"), uiOutput("button_with_tooltip"), uiOutput("input_slider")),
server = function(input, output, session){
output$button_with_tooltip = renderUI({
tipify(actionButton("button", label="I'm doing nothing"), title="I am doing nothing")})})
如果您将工具提示标题从 "I am" 更改为 "I'm",它将不会显示。
这个错误的更令人惊讶的行为后果是 inputSlider
,当工具提示的标题中有单引号时,它们会自动将自己转换为 numericInput
...很奇怪!试试这个:
shinyApp(
ui = basicPage(p("title"), uiOutput("input_slider")),
server = function(input, output, session){
output$input_slider = renderUI({
tipify(sliderInput("slider", label="I'm a simple slider", min=0, max=10, value=5), title="I'm doing nothing")
})})
为什么会发生这种情况,我该如何覆盖它?谢谢,
注意:我是法国人所以我需要撇号
谢谢,
我们可以逃跑\'
library(shiny)
library(shinyBS)
shinyApp(
ui = basicPage(p("title"), uiOutput("input_slider")),
server = function(input, output, session){
output$input_slider = renderUI({
tipify(sliderInput("slider", label="I'm a simple slider",
min=0, max=10, value=5), title="I\'m doing nothing")
})})
--输出
看起来这是一个错误,已在 GitHub 的最新版本中修复:
- https://github.com/ebailey78/shinyBS/commit/67ba9a262115aba974f2f0ab0d11095aee839b53 (2015-04-28)
- https://github.com/ebailey78/shinyBS/issues/30
但最新的 CRAN 版本有点旧 (2015-03-31)。我在 GitHub 和 运行 上安装了最新版本,没有问题。
devtools::install_github("ebailey78/shinyBS@shinyBS3")
tipify
通过在页面上嵌入 JavaScript 添加工具提示。问题是 JavaScript 代码是用单引号字符串构造的,但字符串内容没有被转义。这会导致 JavaScript 解析错误,这就是滑块看起来像普通 <input>
元素的原因。
您可以像@akrun 显示的那样使用反斜杠转义撇号,或者 HTML 使用 '