Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >闪亮的reuss reuss reactive input pickerInput

闪亮的reuss reuss reactive input pickerInput
EN

Stack Overflow用户
提问于 2021-08-30 11:35:01
回答 1查看 76关注 0票数 1

我正在尝试创建我的第一个闪亮的应用程序,但我面临着一个困难:在下面的可重现的例子中,我正在创建一个反应式的pickerInput (即只显示品牌提出一个等于访问者选择的输入的圆柱体)。

然后,我希望基于组合input_cylpicker_cny (记住,picker_cny依赖于input_cyl)显示一个表,其中显示与组合input_cylpicker_cny匹配的观察值的相关数据。

谢谢你的帮助!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df <- mtcars
df$brand <- rownames(mtcars)
df$brand <- gsub("([A-Za-z]+).*", "\\1", df$brand)

if (interactive()) {

library(shiny)
library(shinyWidgets)
library(shinythemes)
library(shinycssloaders)

# Define UI -----------------------------------------------
ui <- fluidPage(
  
  # Application title
  titlePanel("Reproducible Example"),

  # Parameters
  sidebarLayout(
    sidebarPanel(
      selectInput(inputId = "input_cyl", label = "Cyl",
                  choices = c("6", "4", "8")),
      pickerInput(
        inputId = "picker_cny",
        label = "Select Company",
        choices = paste0(unique(df$brand)),
        options = list(`actions-box` = TRUE),
        multiple = TRUE),
      width = 2),
    
    # Show Text
    mainPanel(
      tableOutput("table"),
      width = 10)
  ))


# Define Server ------------------------------------------
server <- function(input, output, session) {
  
  # Reactive pickerInput ---------------------------------
  observeEvent(input$input_cyl, {
    
    df_mod <- df[df$cyl == paste0(input$input_cyl), ]
    
    # Method 1
    disabled_choices <- !df$cyl %in% df_mod$cyl
    updatePickerInput(session = session, 
                      inputId = "picker_cny",
                      choices = paste0(unique(df$brand)),
                      choicesOpt = list(
                        disabled = disabled_choices,
                        style = ifelse(disabled_choices,
                                       yes = "color: rgba(119, 119, 119, 0.5);",
                                       no = "")
                      ))
  }, ignoreInit = TRUE)
  
  output$table <- renderTable(df)
  }
} 


# Run the application 
shinyApp(ui = ui, server = server)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-30 11:46:22

您需要一个反应式,它将处理输入中的更改,并在将数据帧提供给输出表之前对其进行子集。为此,您只需将此代码块添加到您的服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    data <- reactive({
        if (length(input$picker_cny) > 0)
            df[df$brand %in% input$picker_cny,]
        else 
            df
    })

并像这样更新output$table

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    output$table <- renderTable(data())

注:您可以随意移除reactive中的if else,以获得以下结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    data <- reactive({
        df[df$brand %in% input$picker_cny,]
    })

在这种情况下,唯一的区别是:当还没有输入任何输入时,您会显示全部还是不显示。这是一个品味问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68989464

复制
相关文章
《福布斯》:通用必须要把最好的技术留给无人驾驶
【新智元导读】《福布斯》本周一刊文介绍通用半自动驾驶系统Super Cruise。有鉴于该系统的神秘性,新智元对本文做了译介。对照本周【智驾深谈】,可以进一步看出如今智能驾驶行业面临的问题:辅助驾驶系统尚未有成熟的安全标准,但其前景显而易见。厂商都不愿错失机遇,但他们所做的一切都事关你我消费者的生命安全。通用在文中显然试图将Super Cruise包装得在“尖端技术和安全之间寻求平衡”,而实际上在宣传时仍有误导嫌疑(比如上图,是GE研究员上路测试Super Crusie这个半自动驾驶系统,但却传达出一种“可
新智元
2018/03/28
7230
《福布斯》:通用必须要把最好的技术留给无人驾驶
Stream闪亮登场
Stream是一类用于替代对集合操作的工具类+Lambda式编程,他可以替代现有的遍历、过滤、求和、求最值、排序、转换等
上帝
2019/03/04
4840
字节收入放缓,抖音收入停止增长;英伟达 CFO:完成收购 ARM 的承诺不会改变;百度网盘推青春版,10GB 不限速
北京时间 11 月 18 日消息,从接近字节跳动内部人士处获悉,今日字节跳动商业化产品部召开全员大会,会上披露其国内广告收入过去半年停止增长,系 2013 年开启商业化以来首次出现这种情况。
SDNLAB
2021/11/23
6340
Reactive Extensions介绍
Reactive Extensions(Rx)是对LINQ的一种扩展,他的目标是对异步的集合进行操作,也就是说,集合中的元素是异步填充的,比如说从Web或者云端获取数据然后对集合进行填充。Rx起源于Microsoft DevLabs小组的研究,他扩展了LINQ的一些特性,目前Rx支持多种平台如JavaScript,Windows Phone,ios,Android 。随着数据处理变得复杂,LINQ使得我们的处理逻辑变得简单清晰,同样地,随着越来越多的数据通过从云端异步获取,Rx使得这种异步数据处理操作变得简
张善友
2018/01/19
1.5K0
Reactive Extensions介绍
聊聊reactive streams的backpressure
这样一个生产流水线,有个要求就是每个环节的处理要能够协调,就像电影起跑线里头男主角去工厂打工,流水线花花往他那边推送货物,他速度跟不上,导致货物都掉地上了,最后不得不人工关掉流水线。 在应用程序里头,如果发布者速度过快,而订阅者速度慢,那么就会数据就会堆积,控制不好就容易产生内存溢出,而backpressure就专门用来解决这个问题的。
code4it
2018/09/17
9040
聊聊reactive streams的schedulers
默认情况下Mono以及Flux都在主线程上运行,有时候可能会阻塞主线程,可以通过设定schedulers让其在其他线程运行。
code4it
2018/09/17
6980
Reactive的方式访问Redis
本文主要大概介绍一下响应式/反应式编程方式访问 redis,不能解决很多生产问题,只是帮助大家对响应式编程有一个认识。
胖虎
2019/06/26
8.2K0
聊聊reactive streams的processors
processors既是Publisher也是Subscriber。在project reactor中processor有诸多实现,他们的分类大致如下:
code4it
2018/09/17
2.3K0
Java Reactive Programming
在 Spring Boot 中,支持了响应式编程,带来了性能和内存使用方面的优化。
绿巨人
2022/05/10
1.5K0
todomvc项目_reactive vue
在h1中引入{ {msg}},在js文件中将msg赋值,从而在html中显示大标签的内容
全栈程序员站长
2022/10/01
1.1K0
feign-reactive
阿超
2023/10/01
4930
feign-reactive
input输入框的input事件
首先是一个坑,在IE和360浏览器中页面刷新会执行一遍input事件,在其他浏览器就没有,所以会有很大问题,导致做的自动补全列表直接显示,刷新页面也不能隐藏。
全栈程序员站长
2022/09/06
3.6K0
Reactive Extensions(Rx) 学习
Bruce Eckel(著有多部编程书籍)和Jonas Boner(Akka的缔造者和Typesafe的CTO)发表了“反应性宣言”,在其中尝试着定义什么是反应性应用。 这样的应用应该能够: 对事件做出反应:事件驱动的本质,让反应性应用能够支持文中提到的若干特性。 对负载做出反应:聚焦于可扩展性,而不是单用户性能。 对失败做出反应:建立弹性系统,能够从各个层级进行恢复。 对用户做出反应:综合上述特征,实现交互式用户体验。 在这份宣言公布之后,Scala的创造者Martin Odersky、Reactive
张善友
2018/01/19
8900
$(#form :input)与$(#form input)的区别
1. $("form :input") 返回form中的所有表单对象,包括textarea、select、button等     $("form input")返回form中的所有input标签对象
超然
2018/08/03
2K0
聊聊reactive streams的parallel flux
本文主要研究下reactive streams的flux的parallel运行方式.
code4it
2018/09/17
1.6K0
聊聊reactive streams的tranform操作
reactive streams的操作相当于在jdk的streams的基础上实现了reactive化,可以参照着了解。
code4it
2018/09/17
7330
“潮萌时尚达人”Q妹,闪亮登场!
嘘!大家安静~ 下面有请“潮萌时尚达人”Q妹 闪亮登场!! 鼓掌,撒花! 👇 和不少女孩子一样 Q妹也是妥妥的精致girl 假期宅家来一场精致护肤 周末逛街也不忘画个美美的妆 不为别的,就是自己开心 职场中的Q妹 也偶尔会摸鱼划水找找灵感 这不,一杯惬意的下午茶 开启了偷偷摸鱼的“美好时光” 健康身体、美好心情 也是Q妹的日常坚持 下班回家后总是会挤出时间健健身 毽子舞女孩轻松出道 还想了解更多Q妹的日常 惊喜表情包奉上 👇 你怎么这么傻乎乎的,真无语 本姑娘心情好,给你比个心! 可爱Q妹,当场
腾讯ISUX
2022/05/09
5550
“潮萌时尚达人”Q妹,闪亮登场!
聊聊reactive streams的Mono及Flux
本文主要讲一下reactive streams的Publisher接口的两个抽象类Mono与Flux
code4it
2018/09/17
1.4K0
reactive是如何实现深层响应的?
看过官网文档的都知道,Vue3 的响应性分为浅层和深层,我们常用的 reactive 是深层的。
用户1174620
2021/04/20
1K0
reactive是如何实现深层响应的?
点击加载更多

相似问题

禁用闪亮的pickerInput

112

根据checkBoxInput结果显示pickerInput R闪亮

15

来自dataframe闪亮的pickerInput名称和值

14

闪亮的Plotly reactive数据图

16

使用sidebarLayout + reactive闪亮文档块

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文