Добавить или обновить атрибут для элемента и всех вложенных элементов
Я работаю над полным макетом страницы, используя fillPage()
, Чтобы блок мог растягиваться по вертикали, все элементы, определяющие этот блок, должны иметь style = "height: 100%"
атрибут (или так мне сказали). Есть ли способ добавить / обновить style
атрибут для элемента и всех вложенных элементов?
Я выбрал реализацию, которая, кажется, работает для моего случая, но, возможно, мне не хватает некоторых деталей.
library(htmltools)
tagAppendAttributesAll <- function(x, ...) {
if (!is.list(x)) return(x)
if (inherits(x, "shiny.tag.list")) {
x[] <- purrr::map(x[], tagAppendAttributesAll, ...)
x
} else {
x <- tagSetChildren(
x,
list = purrr::map(x$children[], tagAppendAttributesAll, ...)
)
tagAppendAttributes(x, ...)
}
}
tagSetFullHeightAll <- function(x) {
tagAppendAttributesAll(x, style = "height: 100%;")
}
print(tagSetFullHeightAll(
div(
div(
div("test"),
style = "height: 400px; "
)
)
))
#> <div style="height: 100%;">
#> <div style="height: 400px; height: 100%;">
#> <div style="height: 100%;"></div>
#> </div>
#> </div>
Создано в 2019-04-29 пакетом представлением (v0.2.1.9000)
1 ответ
Может быть, я неправильно понимаю вашу проблему. Вы пытались использовать устройство "VH". В одном из моих блестящих приложений я использую эту строку:
leafletOutput ("rutMap", ширина = "100%", высота = "75vh")