2016-05-30 14 views
6

Ich habe einen Download-Button zu meiner Flexdashboard in der Seitenleiste Panel, aber es erscheint in der Hauptanzeige, wenn ich die. RMD stricken. Kannst du mir bitte sagen, wie ich es beheben kann?Wie zu beheben Download Schaltfläche Sidebar Problem in Flexdashboard

Hier ist ein minimales Beispiel dafür, was ich

--- 
title: "Download Button in Wrong Panel" 
output: 
    flexdashboard::flex_dashboard: 
    vertical_layout: scroll 
runtime: shiny 
--- 

```{r setup, include=FALSE} 

## Setting up required libraries 
library(flexdashboard) 
library(dplyr) 
library(shiny) 
library(knitr) 

dataset <- read.csv(somefile) 
``` 

Inputs {.sidebar} 
----------------------------------------------------------------------- 

### Input Filters 

```{r input} 

## Metric 1 
selectInput('metric', 
      'Choose Metric', 
      names(dataset %>% select(-default_column)), 
      selected = "default_metric") 

## Download Button 
downloadButton('downloadData','Download Result Set') 
``` 

Outputs 
----------------------------------------------------------------------- 

### List of Customers 

```{r output} 

subset_dataset <- reactive({ 
    dataset[,c("default_column",input$metric)] 
}) 

renderTable({ 
    subset_dataset() 
}, 
include.rownames = FALSE) 

downloadHandler(filename = function() { 
    paste('resultset-', Sys.Date(), '.csv', sep='') 
    }, 
    content = function(file) { 
    write.csv(subset_dataset(), file, row.names = FALSE) 
    } 
) 
``` 

Ein Screenshot des Armaturenbretts zu erreichen bin versucht wird wie folgt

enter image description here

Dank!

Antwort

5

Egal, ich reparierte es und es war ziemlich albern von mir, es nicht versucht zu haben, bevor die Frage gestellt wurde, aber wenn jemand jemals einem ähnlichen Problem gegenübersteht, ist die Lösung hier.

Die Download-Handler-Funktion muss auch einfach in der Sidebar-Panel platziert werden, und das tut es.

Inputs {.sidebar} 
----------------------------------------------------------------------- 

### Input Filters 

```{r input} 

## Metric 1 
selectInput('metric', 
      'Choose Metric', 
      names(dataset %>% select(-default_column)), 
      selected = "default_metric") 

## Download Button 
downloadButton('downloadData','Download Result Set') 

downloadHandler(filename = function() { 
    paste('resultset-', Sys.Date(), '.csv', sep='') 
    }, 
    content = function(file) { 
    write.csv(subset_dataset(), file, row.names = FALSE) 
    } 
) 
Verwandte Themen