如何以编程方式“打开”Material-UI Select 字段?

2024-01-16

选择字段可以在这里找到:在 Material-UI 演示中 http://www.material-ui.com/#/components/select-field

它的方法似乎是从菜单/弹出窗口类继承的,但我无法弄清楚如何在 onFocus 事件触发时触发“打开”。这将解决我与键盘相关的可用性问题!


看例子https://material-ui.com/components/selects/#control-open-select https://material-ui.com/components/selects/#controlled-open-select

import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import InputLabel from '@material-ui/core/InputLabel';
import MenuItem from '@material-ui/core/MenuItem';
import FormControl from '@material-ui/core/FormControl';
import Select from '@material-ui/core/Select';
import Button from '@material-ui/core/Button';

const useStyles = makeStyles((theme) => ({
  button: {
    display: 'block',
    marginTop: theme.spacing(2),
  },
  formControl: {
    margin: theme.spacing(1),
    minWidth: 120,
  },
}));

export default function ControlledOpenSelect() {
  const classes = useStyles();
  const [age, setAge] = React.useState('');
  const [open, setOpen] = React.useState(false);

  const handleChange = (event) => {
    setAge(event.target.value);
  };

  const handleClose = () => {
    setOpen(false);
  };

  const handleOpen = () => {
    setOpen(true);
  };

  return (
    <div>
      <Button className={classes.button} onClick={handleOpen}>
        Open the select
      </Button>
      <FormControl className={classes.formControl}>
        <InputLabel id="demo-controlled-open-select-label">Age</InputLabel>
        <Select
          labelId="demo-controlled-open-select-label"
          id="demo-controlled-open-select"
          open={open}
          onClose={handleClose}
          onOpen={handleOpen}
          value={age}
          onChange={handleChange}
        >
          <MenuItem value="">
            <em>None</em>
          </MenuItem>
          <MenuItem value={10}>Ten</MenuItem>
          <MenuItem value={20}>Twenty</MenuItem>
          <MenuItem value={30}>Thirty</MenuItem>
        </Select>
      </FormControl>
    </div>
  );
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式“打开”Material-UI Select 字段? 的相关文章

  • 提及列表和表情符号顶部位置 (Draft.js)

    您能帮我如何将其位置从下到上更改吗 我想在文本顶部而不是底部显示提及列表 关于表情符号列表的同样问题 示例链接 https www draft js plugins com plugin emoji 你可以通过以下方式实现它position
  • 如何只获取父类对象的属性

    我有两节课 class Parent object def init self id name self id id self name name self parent vars id name make a copy def print
  • C# 中的类和基类继承

    我有一个 C 类 如下所示 public class BarChart public BarData BarChartData public BarStyle BarChartStyle public BarChart BarData da
  • CSS 继承、别名和其他很酷的东西

    有一天 我随机浏览网页 发现了一些程序 可以让你编写 CSS 别名和其他很酷的东西 我现在不记得了 举个例子 我记得你可以这样做 myclass background color red greenfont 其中 greenfont 在其他
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 使用 React Hook 将更新器传递给以“(state, props)”作为更新状态参数的“setState”相当于什么?

    替代使用的最佳实践是什么setStateReact Component 中的函数 https reactjs org docs react component html setstate https reactjs org docs rea
  • React 设置背景颜色与状态 rgb

    所以我根据数据库的结果生成一个表 在数据库中我保留 rgb 值 例如 75 75 75 现在当我生成列表时 我想使用保存的值设置我的 td 的背景 tbody this state boxes map box i gt tr td box
  • Jest 和 React 以及导入 CSS 文件时出现语法错误

    我正在尝试让我的第一个 Jest 测试通过 React 和 Babel 我收到以下错误 SyntaxError Users manueldupont test avid sibelius publishing viewer src comp
  • 使用 Hooks 从 React Native 中的 Firebase 实时数据库获取的数据未显示在屏幕上

    我最近开始在 React Native 中使用 Hooks 并尝试从 Firebase 实时数据库获取数据并将其呈现在 FlatList 中 数据以对象格式显示在控制台上 但它不起作用 它没有呈现在屏幕上 我究竟做错了什么 我怎样才能让它正
  • 自定义rc-time-picker的样式

    我在用rc time picker我的项目的包 但我在自定义样式时遇到问题pop up of my time picker成分 这是我的组件的屏幕截图 首先 我需要更改时间的背景颜色item在当时li from light grey 在屏幕
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • React-Redux:state.setIn() 和 state.set() 有什么区别?

    我见过使用setIn and set 在一些react redux代码中 state setIn state set 我在这里找到了一些文档https facebook github io immutable js https facebo
  • className 属性是否承担 Reactjs 中 id 属性的角色?

    由于 id 属性在 Reactjs 组件中很少使用 因为 id 属性意味着组件不会被重用 那么是否使用 className 属性来代替 id 呢 如果是这样的话 那么 Reactjs 中相当于 HTML 中的 class 属性的是什么 cl
  • 陷入了 React useEffect 的一系列变化

    我正在反应中创建一个表单生成器 在一个简单的文本字段上 我需要 Change currentValue When currentValue已更改 验证它 验证完成后 发出一个事件 有效或无效 这是我的代码 const TextInput p
  • Angular2中如何从另一个模块继承一个模块?

    因此 我使用 Angular 2 Final 2 0 0 假设我创建了一个 WidgetsModule 其中包含一堆指令和组件 这些指令和组件将帮助我构建应用程序 然后将其导入到我的 AppModule 中 import NgModule
  • Next.js - 如何使用 Provider 来包装路由并使用 Context 和 Hooks

    我在 create react app 中编写了类似于以下的代码 我想知道 next js 的等效代码 下面的代码是我尝试拥有一个可用于所有页面的全局上下文 提供者包装链接 我没有收到任何错误 问题出在里面about当我期望上下文状态时 页
  • 在复选框内映射复选框 ReactJS

    我有一个函数 一旦主复选框被选中 就会触发子复选框 并且所有这些复选框都是从 JSON 映射的 主复选框 最高级别 及其下面的所有子复选框 第二级别 都会在单击时显示 并且效果很好 我想要显示的是单击时主复选框 第三级别 的子复选框2 级项
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • useState 以 `new` 关键字作为参数

    我正在构建一个单独的服务来处理复杂的事情 该服务是一个类 只是为了测试建议 我在一个内部模拟useState 重点是我忘记了一个console log在构造函数内部 并意识到类构造函数在组件重新渲染时被调用多次 这种行为不会导致意外的行为或
  • 如何使用 Typescript 将 jest.spyOn 与 React 函数组件一起使用

    我正在使用 Typescript 和 hooks 开发一个 React 应用程序 并且尝试使用 Enzyme 和 Jest 来测试功能组件 我无法使用 jest spyOn 来测试我的组件中的方法 jest spyOn 方法无法正确解析并在

随机推荐

  • 允许 this 引用转义

    我希望能帮助您理解 Java 并发实践 中的以下内容 调用可重写的实例方法 既不是 构造函数中的 private 或 Final 也可以允许 这个参考逃避 这里的 转义 是否仅仅意味着我们可能在实例完全构造之前调用实例方法 我没有看到 th
  • 将 OpenID 与 Zend Framework 结合使用

    我希望我的网站能够完全执行 Stackoverflow 使用 openId 所做的操作 我正在梳理资料来源 之前我也曾在 facebook 上这样做过 但是 OpenID 方面没有取得太大进展 我想做的只是检测是否有人登录了谷歌 如果他们获
  • php facebook sdk 不会在 wordpress 中创建用户

    编辑后的问题 我试图在我的 WordPress 网站上使用 Facebook 登录插件this sdk https stackoverflow com questions 6034813 facebook uncaught oauthexc
  • 选择本地视频并在HTML5视频播放器中播放(全部本地,同一文件夹)

    对于学校 我需要使用带有额外控件的 HTML5 视频播放器以及从本地驱动器选择文件的选项 该页面也在本地运行 所以没有上传 文件 HTML 和视频 位于同一本地文件夹中 对于选择的东西 我使用一个表格
  • .h、.lib 和 .dll 如何协同工作

    要使用 FreeGlut 库函数 我必须执行以下操作 添加 freeglut h 作为头文件 添加 freeGlut lib 作为资源文件 将 freeGlut dll 复制到我的 windows SysWOW64 文件夹 但是 整个系统
  • 将 Windows 身份验证与 ASP.NET MVC 结合使用

    我确信这是一个基本答案 但我的搜索能力今天对我没有帮助 我有一个 ASP NET MVC 2 NET 3 5 应用程序 它托管在 IIS 6 上 为了这个问题 我有两个网址 http example com http example com
  • 如何删除 Android Lollipop 中的前台通知?

    我希望停止 关闭媒体播放器服务的前台通知 这与 Google 的 Google Music 实现非常相似 例如 在 Google Music 中 如果您正在播放音乐 则无法将通知移开 但是 如果您暂停音乐 它就可以 这与 Android 4
  • 如何根据元素而不是节点顺序对 D3 力模拟节点进行分层?

    我有一个 D3 v4 力模拟 节点在屏幕上移动 每个节点都是由一个圆圈和其下方的一些文本组成的组 我如何排序 以便圆圈位于底层 文本始终位于顶层 一个圆圈与另一个圆圈重叠是可以的 但一个圆圈与文本顶部重叠是绝对不行的 这是我所拥有的 目前
  • 使用 java 的 Calendar 类比较日期

    用户输入的日期使用下拉菜单分别表示日 月和年 我必须将用户输入的日期与今天的日期进行比较 并检查它是同一天还是未来的一天 我对时间部分有点困惑 因为我对时间不感兴趣 只对日期感兴趣 如何在不使用 Date 类的情况下解决这个问题 我读到不建
  • PHP 中使用哪种压缩方法?

    我需要使用两个 PHP 脚本来移动大量数据 一个在客户端使用命令行 PHP 脚本 另一个在 Apache 后面 我将数据发布到服务器端并使用 php input 流将其保存在网络服务器端 为了防止达到任何内存限制 每个 POST 请求的数据
  • MySQL 结果以逗号分隔列表形式

    我需要运行如下查询 SELECT p id p name SELECT name FROM sites s WHERE s id p site id AS site list FROM publications p 但我希望子选择返回一个逗
  • 尝试使用清单中的以下图标时出错

    运行反应应用程序时 我的控制台总是显示此错误消息 gt Error while trying to use the following icon from the Manifest gt http localhost 3000 favico
  • 在 Cordova 和 Ionic 中检测屏幕关闭/打开

    我想检测手机何时锁定和解锁 计划是在手机解锁时显示 非广告 弹出窗口 到目前为止 Cordova 似乎只支持暂停和恢复事件 这不会让我获得我需要的功能 本机 Android 支持屏幕开 关和用户呈现事件 是否可以使用这些事件 如果不能 是否
  • R 中的聚合数据

    我正在寻找一个关于如何使用的简单示例aggregate并计算 R 中的平均值 比如说 我有以下数据框 A B 100 85 200 95 300 110 400 105 我想计算某些范围的平均值 结果如下 RANGE MEAN 100 20
  • 从 Windows 通过 Cygwin 运行 Git

    我最近开始将 Cygwin 用于其他目的 并且已经在我的 PC 上安装了 Git 我知道我可以运行可执行文件并将 Git 安装到 Cygwin 中 但因为我已经安装了它 我希望 Cygwin 只使用我的 Windows 安装 我尝试过研究如
  • 如何更改 ATOM 控制台中的控制台字体大小 [电子邮件受保护]

    I am using ATOM for all my scripting There is a package named Script where you can run your script from within ATOM by p
  • MSTest 在错误位置查找 DLL

    我正在运行一个测试工具 但由于类型未解析而无法运行 更具体地说 是错误绑定上的 SerializationException 我使用fuslogvw来追踪它在哪里寻找DLL 但没有找到它 我很困惑为什么它在它所在的位置寻找 Pre bind
  • 适用于 Google 云端硬盘的 Android API?

    目前发布的 API 似乎主要针对 Chrome 商店应用程序 是否会有适用于 Android 的 API 或者是否可以使用现有的 API 例如 Google 文档列表数据 如果是这样 应该使用哪个 URL 来列出 访问文件 编辑 随着文档列
  • Item PropertyChanged 不适用于 observableCollection。为什么?

    我到处寻找解决方案 但似乎没有深入了解 就像网上的许多帖子一样 我似乎没有让我的 itemPropertyChanged 工作 编辑集合中的项目时它不会触发 为什么 有点长 但这是我整理的一个例子 我有一个客户 ViewModel 其中包含
  • 如何以编程方式“打开”Material-UI Select 字段?

    选择字段可以在这里找到 在 Material UI 演示中 http www material ui com components select field 它的方法似乎是从菜单 弹出窗口类继承的 但我无法弄清楚如何在 onFocus 事件