这是一种创建依赖于闪亮子项选择的闪亮观察事件的方法吗?
在下面的可重现示例中,我想在单击子菜单 1 时自动执行按钮 1,并在单击子菜单 2 时自动执行按钮 3。
library(shinydashboard)
library(shiny)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
sidebarMenuOutput("menu")
),
dashboardBody(heigth = 800, tabItems(
tabItem(tabName = "submenu_1",
fluidRow(
actionButton(inputId = "button_1",label = "Button 1", icon = icon("fa"),width = '417px'),
actionButton(inputId = "button_2",label = "Button 2", icon = icon("fa"),width = '417px')
)
),
tabItem(tabName = "submenu_2",
fluidRow(
actionButton(inputId = "button_3",label = "Button 3", icon = icon("fa"),width = '417px'),
actionButton(inputId = "button_4",label = "Button 4", icon = icon("fa"),width = '417px')
)
) …Run Code Online (Sandbox Code Playgroud) 我的闪亮应用程序中有一个“下一页”操作按钮,其中有一个显示为图标的箭头和“下一页”字样。但是,图标始终出现在标签前面,如下所示:
我希望图标出现在文本之后,就像通常所做的那样。我正在使用代码
hidden(actionButton(inputId = "Next", label = "Next Page", icon = icon("chevron-right"), width = "20%"))
Run Code Online (Sandbox Code Playgroud)
简单地改变代码的顺序是行不通的,我找不到任何例子。我将不胜感激任何提示,谢谢!
告诉我在 R Shiny 中,有两个操作按钮。我想根据我按下的按钮更新数据。但由于某种原因,它只响应第二个按钮,而不响应第一个按钮。解决办法是什么?
if (interactive()) {
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
actionButton("action_1", "Get 1"),
actionButton("action_2", "Get 2"),
),
mainPanel(
textOutput("result")
),
)
)
server <- function(input, output) {
data <- eventReactive(input$action_1, 1)
data <- eventReactive(input$action_2, 2)
output$result <- renderText(data())
}
shinyApp(ui, server)
}
Run Code Online (Sandbox Code Playgroud) 使用 RStudio 1.0.136 和 R Shiny 0.14.2,我尝试创建一个数据表,每行都有一个操作按钮,单击按钮时会出现一个弹出窗口。我的代码当前正在运行,但您不能连续单击同一按钮两次。我在下面发布了两个版本的示例代码:
library(shiny)
library(DT)
library(shinyBS)
shinyApp(
ui <- fluidPage(
DT::dataTableOutput("data"),
uiOutput("modal")
),
server <- function(input, output,session) {
shinyInput <- function(FUN, len, id, ...) {
inputs <- character(len)
for (i in seq_len(len)) {
inputs[i] <- as.character(FUN(paste0(id, i), ...))
}
inputs
}
df <- reactiveValues(data = data.frame(
Assessment = shinyInput(actionButton, 10, 'button_', label = "Assessment", onclick = 'Shiny.onInputChange(\"select_button\", this.id)' ),
Value1 = 1:10,
Value2 = c("A", "B", "C", "D", "E"),
stringsAsFactors = FALSE,
row.names = 1:10
)) …Run Code Online (Sandbox Code Playgroud) 我想我错过了一些非常简单的事情。
我希望我的用户单击操作按钮 1,以便显示操作按钮 2。但是我如何在 ui 中“渲染”一个新的操作按钮?
我的代码如下。非常感谢!
library(shiny)
ui = shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
actionButton("button1", label = "Press Button 1")
),
mainPanel(
# what should I write here?
#renderPrint("button2")
)
)
))
server = shinyServer(function(input, output, session) {
observeEvent(input$button1, {
output$button2 <- renderUI({
actionButton("button2", label = "Press Button 2")
})
})
})
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud) 我有一张 96 孔板的俯视图,其中板的底部已制成透明。我最终想做的是,当我的 Shiny 应用程序的用户单击代表实验条件的某个按钮(这是某种颜色并标有条件名称)时,让单元格或列改变颜色,然后某个孔或列号上(见下文)。
我目前的想法是制作一个 HTML 表格并将其渲染在 96 孔板图像后面。一旦按下颜色选择按钮并选择某个表格单元格或列,这些单元格就会将背景更改为该颜色。我只是想确保我以尽可能最明智的方式处理这件事。这也将是用户为数据分析和图表制作目的向孔分配条件的方式。本质上,在分析脚本中为孔分配了一个条件,类似于下图所示。一旦 HTML 表格单元格更改为反映某种条件/颜色,R 脚本中相应的孔也将反映该条件(这是另一件“最终”的事情)。
# Add condition information specific to this experiment
sum_tab[, loc_id:=str_extract(location, "\\d{2}")]
sum_tab$loc_id = as.integer(sum_tab$loc_id)
sum_tab[, condition:="empty"]
sum_tab[loc_id %in% 1:12, condition:=paste("Wild Type")]
sum_tab[loc_id %in% 13:24, condition:=paste("3_fish_gse1_(-16/+)")]
sum_tab[loc_id %in% 25:36, condition:=paste("3_fish_cox8a (-75/+0)")]
sum_tab[loc_id %in% 37:48, condition:=paste("3_fish_fam171a1 (-10/+)")]
sum_tab[loc_id %in% 49:60, condition:=paste("3_fish_clec19a (-14/+)")]
Run Code Online (Sandbox Code Playgroud)
简而言之,我的问题是:有没有办法调用 HTML 表格中各个单元格的标识?或者是否有一种更智能的方法来跟踪用于 Shiny 应用程序可视化目的的颜色,以及用于 R 脚本分析目的的条件标签?
我想我应该先问一下,然后再尝试花几个小时来弄清楚,然后可能会感到失望并不得不重新开始。
谢谢你!
我正在尝试在闪亮的数据表中创建一个操作按钮,单击该按钮会链接到特定的亚马逊产品。我按照R Shiny: Handle Action Buttons in Data Table建模了我的代码。单击该按钮时,我需要用户根据 data.table 行中的 ASIN 导航到特定的亚马逊产品页面。
filteredData <- data.frame(
Name = c('Dilbert', 'Alice', 'Wally', 'Ashok', 'Dogbert'),
ASIN = c("B06Y4VRZTB",
"B06Y4WGPBB",
"B06Y4J9Z9V",
"B06Y4V169H",
"B06Y4TF1D1"),
stringsAsFactors = FALSE,
row.names = 1:5)
shinyInput <- function(FUN, len, id, ...) {
inputs <- character(len)
for (i in seq_len(len)) {
inputs[i] <- as.character(FUN(paste0(id, i), ...))
}
print(inputs)
inputs
}
df <- reactiveValues(data = data.frame(
filteredData %>% mutate(Amazon.Button = shinyInput(actionButton,
nrow(filteredData),
'button_',
label = "Amazon",
onclick = paste0("window.open('https://",
AmazonSiteLink, …Run Code Online (Sandbox Code Playgroud) 我使用的是CircularFloatingActionMenu库,我已经成功实现了这个库,但我想增加4个子动作按钮的大小
请在下面找到使用的代码
final ImageView fabIconNew = new ImageView(this);
fabIconNew.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_new));
final FloatingActionButton rightLowerButton = new FloatingActionButton.Builder(this)
.setContentView(fabIconNew)
.build();
SubActionButton.Builder rLSubBuilder = new SubActionButton.Builder(this);
ImageView rlIcon1 = new ImageView(this);
ImageView rlIcon2 = new ImageView(this);
ImageView rlIcon3 = new ImageView(this);
ImageView rlIcon4 = new ImageView(this);
//ImageView rlIcon6 = new ImageView(this);
rlIcon1.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_contact));
rlIcon2.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_currency_info));
rlIcon3.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_exhibition));
rlIcon4.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_faq));
Run Code Online (Sandbox Code Playgroud)