R Shiny中调用source命令时应用界面打印TRUE的问题求助
问题原因
source() 函数执行R脚本后会返回一个列表,其中value字段对应脚本最后一个表达式的返回结果(也就是你定义的sliderInput控件),同时还有标识脚本执行状态的返回值,你直接将source()的完整返回值放在Shiny UI定义中,框架会把整个列表的内容都渲染到页面上,多余的TRUE就是脚本执行成功的状态标识被渲染导致的。
解决方案
只需在调用source时提取其返回值的value字段即可,修改app.R中sidebarPanel内的source调用代码:
source("sub.R", echo = FALSE, print.eval = FALSE)$value
如果你的子文件中包含多个Shiny控件,只需在sub.R最后将所有控件打包到tagList中即可,无需调整其他逻辑:
# sub.R示例(多控件场景) tagList( sliderInput(inputId = "bins", label = "Number of bins:", min = 0.1, max = 5, value = 1), # 可继续添加其他输入控件 textInput("custom_text", "自定义输入项") )
修改后重新运行应用,多余的TRUE就会消失,控件功能不受任何影响。
内容的提问来源于stack exchange,提问作者kain
相关产品推荐
相关产品推荐

