2016-06-13 21 views
7

için weblink ekleyin:R: Böyle bir parlak pano kutusu içinde bulunan bir düğme vardır benim parlak uygulamasında bir kutu var actionButton

shiny::fluidRow(
    shinydashboard::box(title = "Intro Page", "Some description...", 
     shiny::actionButton(inputId='ab1', label="Learn More", icon = icon("th")) 
) 
) 

ben düğmesini bir web bağlantısı eklemek istediğiniz tür zaman o Üzerine tıklıyorum, ilgili web sayfasını yeni bir sekmede açmalı.

ben yerine bunu biliyoruz:

# this does not create a submit button though, it just creates a link. 
tags$div(class = "submit", 
     tags$a(href = "www.google.com", 
       "Learn More", 
       target="_blank") 
) 

Ama actionButton ile

, güzel düğmesi yoktur ve ben estetik daha iyi görünüyor ki buna bir simge ekleyebilir.

enter image description here

nasıl parlak içinde actionButton bir bağlantı eklerim?

cevap

12

Sen eylem düğmesini parametreyi

onclick ="location.href='http://google.com';" 

eklemek ve geçerli pencerede google.com götürecek tıklayarak veya

onclick ="window.open('http://google.com', '_blank')" 

ekleyebilir ve alınacak olabilir

shiny::fluidRow(
    shinydashboard::box(title = "Intro Page", "Some description...", 
     shiny::actionButton(inputId='ab1', label="Learn More", 
          icon = icon("th"), 
          onclick ="window.open('http://google.com', '_blank')") 
) 
) 
olan yeni bir sekmede

Google'a

+0

Vay canına!İşe yaradı! Ben googled herhangi bir yerde bir cevap bulamadık, sevindim burada bir soru olarak gönderdim. Çok teşekkürler! –

3

onclick yöntemi basittir ancak javascript kullanır. Daha da önemlisi, bağlantıyı dinamik olarak oluşturmak istiyorsanız garip olur. Uygulamamda, kullanıcı girdisine göre belirli bir sayfayı açan bir bağlantıya sahip olmak istiyorum ve bir bağlantıyı yalnızca bir düğme olarak giydirebileceğinizi keşfettim.

İlk önce, bağlantı parçası yalnızca sunucu bölümünde üretilebildiğinden, uiOutput ve renderUI ile dinamik kısım ile ilgileniyorum. Basit bağlantı biz bir eylem düğmesi nasıl göründüğüne bakabilirsiniz bir düğme oluşturmak için

<a target="_blank" href="http://www.somesite/somelink"> 
    <h4>Open Link</h4> 
</a> 

olsun

a(h4("Open Link"), target = "_blank", href = paste0("http://www.somesite/", some_link))

Sadece Ar bu çizgiyi çalıştırmak olacaktır.

> actionButton("download", "Download Selected", 
       icon = icon("cloud-download")) 
<button id="download" type="button" class="btn btn-default action-button"> 
    <i class="fa fa-cloud-download"></i> 
    Download Selected 
</button> 

O zaman bu

shiny::a(h4("Open Link", class = "btn btn-default action-button" , 
    style = "fontweight:600"), target = "_blank", 
    href = paste0("http://www.somesite/", some_link)) 

almak için yapabileceğiniz

<a target="_blank" href="http://www.somesite/some_link"> 
    <h4 class="btn btn-default action-button" style="fontweight:600">Open Link</h4> 
</a> 

Şimdi bir düğmeye benzeyen bir bağlantı varsa ve ayrıca stil parametresi ile ya da tarzını özelleştirebilirsiniz veya özelleştirilmiş css. Uygulamanızı chrome/firefox geliştirici araçlarıyla açın, css'yi istediğiniz efekte göre değiştirin, ardından varsayılan stili geçersiz kılmak için değiştirilen css'yi www klasöründe style.css'a ekleyin.

Birçok html etiketi işlevinin çıktısına bakarsanız, birçok özelliğin bir araya getirilmesi için pek çok öğenin bir araya getirilip birleştirilebileceğini göreceksiniz.