小编Mik*_*ada的帖子

R Shiny – 使用 CSS 滚动时让 wellPanel 弹出窗口跟随

问题: R Shiny – 使用 CSS 滚动时让 wellPanel 弹出窗口跟随

嗨堆栈用户,

我创建了一个闪亮的应用程序,它有一个数据表,其中当用户单击一行时,它旁边会弹出一个隐藏的 wellPanel,以显示与该行相关的更多详细信息。

弹出的wellPanel的长度很长,但是表格的长度更长(行数不可协商)。我想让 wellPanel 在滚动时跟随,直到 wellPanel 的顶部到达页面的顶部可见部分。此时,wellPanel 会一直粘到页面底部(请参阅下面的首选状态图像)。

使用 CSSposition: fixed并不能解决问题,因为在表格和面板上方有针对目标用户的说明。因此,position: fixed仅使用将 wellPanel 永久粘贴到网页的一部分,并且一些信息会被删除(请参阅下面的示例应用程序)。

现在,我不是一名 Web 开发人员/设计师,所以我对 CSS 的了解非常少,但我希望上一篇文章中的 CSS 解决方案(How do you make a div follow as you scroll? /)具体来说:https://www.w3schools.com/css/css_positioning.asp)使用position: sticky可以工作,但仍然没有成功。

希望听到社区专家的意见。谢谢!

米克洛斯

我的应用程序的简化示例以及显示首选状态的图像如下:

安装程序.R

#### LOAD PACKAGES ######################
require(shiny)
require(shinyjs)
require(data.table)
require(dplyr)
require(DT)

#### PREPARE DATA ######################
id <- c('10001','10002','10003','10004','10005',
        '10006','10007','10008','10009','10010',
        '10011','10012','10013','10014','10015',
        '10016','10017','10018','10019','10020',
        '10021','10022','10023','10024','10025',
        '10026','10027','10028','10029','10030',
        '10031','10032','10033','10034','10035',
        '10036','10037','10038','10039','10040'
        )

info …
Run Code Online (Sandbox Code Playgroud)

javascript css r shiny

6
推荐指数
1
解决办法
91
查看次数

R - 当用户在不同的页面上时,闪亮的数据表 (renderDataTable) 重新加载到第一页并更新某个列值 (selectInput)

问题:每当用户位于数据表的不同页面并更新某个列值(通过 selectInput)时,R Shiny 数据表就会重新加载到第一页。

嗨堆栈用户,

在 R Shiny 中,我创建了一个包含数据表 (renderDataTable) 的 Shiny 应用程序,其中“状态”列的单元格值可以由其预期用户更新(通过 selectInput)。

我准备了以下代码的简化示例。

用户界面

require(shiny)
require(shinyjs)
require(data.table)
require(dplyr)
require(DT)

shinyUI(fluidPage(
  useShinyjs(),
  mainPanel("",         
            fluidRow(
              splitLayout(div(DT::dataTableOutput('my_table')), 
                          div(
                            shinyjs::hidden(
                            wellPanel(id="my_panel",
                                      h3("Update Status",align="center"),
                                      htmlOutput("my_status")
                                      )
                            )
                          )
              )
            )
  ) 
))
Run Code Online (Sandbox Code Playgroud)

服务器

#### DATA PREP AND FUNCTIONS ######################
id <- c('10001','10002','10003','10004','10005',
        '10006','10007','10008','10009','10010',
        '10011','10012','10013','10014','10015')
status <- c('OPEN','OPEN','CLOSED','CLOSED','OPEN',
            'OPEN','CLOSED','CLOSED','OPEN','CLOSED',
            'CLOSED','OPEN','OPEN','OPEN','CLOSED')
dt <- data.table(id=id,status=status)

render_my_table <- function(dt, sel) {
  if(missing(sel)) {
    sel = list(mode='single')
  }  else {
    sel = list(mode='single', selected = …
Run Code Online (Sandbox Code Playgroud)

r shiny data.table dt selectinput

5
推荐指数
1
解决办法
636
查看次数

标签 统计

r ×2

shiny ×2

css ×1

data.table ×1

dt ×1

javascript ×1

selectinput ×1