我正在尝试找到一种从文本输入中交互式修改应用程序主题的方法。
这是我的ui.R。
的一个例子shinyUI(fluidPage(
tabsetPanel(
tabPanel("Main"),
tabPanel("Settings",
textInput("skin", "Select Skin", value = "bootstrap1.css")
), type = "pills", position = "above"
),theme = input$skin
)
)
我收到以下错误:“ERROR:找不到对象'输入'”
作为最后一点,我在app文件夹中创建了一个foler www,其中包含bootstrap1.css以及其他css文件。
答案 0 :(得分:5)
theme
中的fluidPage
选项正在插入带有以下调用的CSS脚本:
tags$head(tags$link(rel = "stylesheet", type = "text/css",
href = input$Skin))
你可以在你的ui中添加这个html作为一个反应元素:
library(shiny)
runApp(list(ui = fluidPage(
tabsetPanel(
tabPanel("Main"),
tabPanel("Settings",
textInput("Skin", "Select Skin", value = "bootstrap1.css")
), type = "pills", position = "above"
),
uiOutput("myUI")
)
, server = function(input, output, session){
output$myUI <- renderUI({
tags$head(tags$link(rel = "stylesheet", type = "text/css",
href = input$Skin))
})
}
))