私は自己完結型のflexdashboardプロジェクトに取り組んでおり、ユーザーが1つのタブセットの新しいタブをクリックすると、それが2番目のタブセットの新しいタブに変わることもあるのではないかと思っています。
たとえば、下の「チャートB1」をクリックすると、2列目のビューが「チャートB2」に変更されます。 「チャートA2」をクリックすると、「チャートA1」などに戻ります。
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
```{r setup, include=FALSE}
library(flexdashboard)
```
Column {.tabset}
-----------------------------------------------------------------------
### Chart A1
### Chart B1
Column {.tabset}
-----------------------------------------------------------------------
### Chart A2
### Chart B2
これは RStudioコミュニティに最初に投稿された でしたが、応答を受け取りませんでした。
JQueryとboostrap tabset JS関数を使用して別の答えを追加するだけです。他の回答よりも簡潔ですが、2列形式の任意の数のタブ(同じ数)でも同じように機能します。
---
title: "Untitled"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
---
```{r setup, include=FALSE}
library(flexdashboard)
```
```{js}
document.addEventListener("DOMContentLoaded", function(){
$('a[data-toggle="tab"]').on('click', function(e){
// find the tab index that is click
child = e.target.parentNode;
tabnum = Array.from(child.parentNode.children).indexOf(child);
// find in which column we are
column = $(e.target).closest("div[id]");
// show the same tab in the other column
columnid = column.attr("id");
if (columnid == "column") {
columnto = "column-1";
} else {
columnto = "column";
}
$("div[id="+columnto+"] li:eq("+tabnum+") a").tab('show');
})
});
```
Column {.tabset}
-----------------------------------------------------------------------
### Chart A1
This is a text
### Chart B1
```{r}
plot(iris)
```
Column {.tabset}
-----------------------------------------------------------------------
### Chart A2
```{r}
plot(mtcars)
```
### Chart B2
This is another text