Các onclick
phương pháp rất đơn giản nhưng nó dựa javascript. Quan trọng hơn, nó sẽ khó xử nếu bạn muốn tạo liên kết động. Tôi muốn có một liên kết trong ứng dụng của tôi mà mở trang cụ thể theo đầu vào của người dùng, và tôi thấy bạn chỉ có thể ăn mặc một liên kết như một nút.
Trước tiên, tôi xử lý phần động với uiOutput
và renderUI
, vì liên kết chỉ có thể được tạo trong phần máy chủ. Các liên kết đơn giản sẽ
a(h4("Open Link"), target = "_blank", href = paste0("http://www.somesite/", some_link))
Chỉ cần chạy dòng này vào R chúng tôi nhận
<a target="_blank" href="http://www.somesite/somelink">
<h4>Open Link</h4>
</a>
Để tạo một nút chúng ta có thể nhìn vào những gì một nút hành động như thế nào.
> 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>
Sau đó, chúng ta có thể làm được điều này
shiny::a(h4("Open Link", class = "btn btn-default action-button" ,
style = "fontweight:600"), target = "_blank",
href = paste0("http://www.somesite/", some_link))
để có được
<a target="_blank" href="http://www.somesite/some_link">
<h4 class="btn btn-default action-button" style="fontweight:600">Open Link</h4>
</a>
Bây giờ chúng tôi có một liên kết giống như một nút, và bạn có thể tuỳ chỉnh phong cách của mình hoặc với tham số kiểu hoặc tùy chỉnh css. Mở ứng dụng của bạn với các công cụ chrome/nhà phát triển firefox, sửa đổi css để hiệu ứng mà bạn muốn, sau đó thêm css sửa đổi để style.css
trong thư mục www để ghi đè lên phong cách mặc định.
Nếu bạn nhìn vào đầu ra của nhiều thẻ html chức năng, bạn sẽ tìm thấy bạn thực sự có thể kết hợp và lắp ráp rất nhiều thứ với nhau để nhận được rất nhiều các tùy chỉnh.
Wow!Điều đó đã hiệu quả! Tôi không thể tìm thấy câu trả lời ở bất cứ nơi nào khi tôi googled, vui vì tôi đăng nó như một câu hỏi ở đây. Cảm ơn rất nhiều! –