You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Shiny应用仅显示侧边栏,数据表格无法显示求助

问题原因及修复方案

核心问题

代码中sidebarPanel内使用htmlOutput("<br>")是错误用法:htmlOutput用于输出服务器端生成的HTML内容,需要接收输出ID字符串,而非直接传入HTML标签。这种错误导致UI布局解析异常,主面板无法正常渲染。

修复步骤

  1. 替换错误的换行方式:将htmlOutput("<br>")改为tags$br()(Shiny内置标签函数),或直接使用HTML("<br>");
  2. 可选:若仍存在布局挤压,可手动设置sidebarPanel(width = 3)和mainPanel(width = 9)调整宽度比例。

修复后的完整代码

library(openxlsx)
library(shiny)
library(DT)

df <- read.xlsx("sayings.xlsx", sheet = 1)
colnames(df)[2:3] <- c("English text", "Original text")

ui <- fluidPage(
  titlePanel("Idioms and Sayings"),
  
  sidebarLayout(
    sidebarPanel( 
      tags$br(),
      actionButton("all", label = "Show all"),
      tags$br(),
      actionButton("lang", label = "Search by language")
    ),
    
    mainPanel(
      DT::dataTableOutput("maintab")
    )
  )
)

server <- function(input, output) {
  output$maintab <- DT::renderDataTable(df)
}

shinyApp(ui, server)

额外说明

只有需要动态生成HTML内容时,才需要配合htmlOutput("id")和server端的renderUI函数。静态换行直接用tags$br()更简洁安全。

内容的提问来源于stack exchange,提问作者HawkLane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 03:32:44