如何以编程方式“打开”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 字段? 的相关文章

  • React Native:加载图像后应用程序性能不佳

    加载图像似乎没有问题 但是加载完毕后就出现问题了 在我的应用程序中 我在整个游戏中一张一张地加载卡片图像 一旦我加载了 40 张卡片图像 整个应用程序就会变得很慢 它总是发生在第 40 个图像处 当我在第 40 个图像之后继续加载更多卡片图
  • 如何在React中的Material-UI选择框中设置默认值?

    我在用选择框 https material ui com demos selects 来自材料用户界面 我想显示默认选择的 选择值 选项 但之后用户无法选择此选项
  • 打字稿 - 字符串'不可分配给类型'FC

    我收到以下错误 Type props PropsWithChildren lt amount number gt gt string is not assignable to type FC lt amount number gt Type
  • 在 React Native 中将 Props 传递到屏幕

    我已经开始学习 React Native 并且一如既往地从创建可重用组件开始 我了解了如何在创建自定义组件时传递和访问 props 我想在 React Native 中创建一个基本屏幕 它具有通用属性 并且我的应用程序中的所有屏幕都可以设置
  • 如何在react-router-dom v6中的路由组件中添加道具

    正如标题所述 我曾经有一个带有状态组件的页面 该组件根据 url 的更改获取不同的 props 现在 升级到React Router v6 我真的不明白如何让它再次工作 我确实知道现在解决这个问题的唯一方法是使用诸如 useNavigate
  • React Context 的范围是什么?

    我不清楚在哪里Context可以在 React 应用程序中创建 我可以在组件树中的任何位置创建上下文吗 如果可以 该上下文的范围是否仅限于创建它的子级 或者 Context 本质上是全局的 我可以在文档中的哪里找到这个 案例 我在页面上多次
  • useLocation 挂钩 - 确定过去的位置

    根据 React Router 5 1文档 https v5 reactrouter com web api location应该可以看到 应用程序现在在哪里 你想让它去哪里 甚至它曾经在哪里 在我的应用程序中 我需要查看 它在哪里 我访问
  • Redux 状态在 mapStateToProps 中未定义

    我目前正在关注this http teropa info blog 2015 09 10 full stack redux tutorial html教程 我遇到了一些障碍mapStateToProps在下面的代码中 import Reac
  • React-redux useDispatch() 未捕获类型错误

    我正在尝试创建一个简单的组件来使用 React Redux 钩子分派操作useDispatch 我收到一个错误 我已将组件修剪到发生错误的位置 当调用 useDispatch 函数时会发生这种情况 import useDispatch fr
  • 仅显示某些路由的组件 - React

    我正在 React 中开发一个带有登录界面的网站 该网站显示一个自定义导航组件 但是我不希望它显示在主路线 即登录页面 上 但据我了解 静态组件不会在路线更改时重新呈现 这准确吗 我正在使用 React Router 来处理所有路由 这是我
  • HTMLImageElement 作为 React Child 无效

    我正在尝试异步加载图像 并且仅在加载图像后才将其显示在 React 应用程序中 componentDidMount const img new Image img onload gt this setState originalImage
  • iOS 11 浏览器图像错误

    在 iOS 11 中滚动页面时出现以下错误 在 Firefox Safari 和 Chrome 中 在 Android 设备中 不会发生该错误 这些是背景图像 我不知道这是否是导致错误的原因 图 2 显示了图像在 Android 中的用途和
  • 在vscode中使用reactjs报错

    在 Visual Studio 代码中使用 jsx 语法 Visual Studio代码报错 请帮我 谢谢 符号 例如 而不是这样做 return lt button className square gt TODO lt button g
  • Material-UI 4.8.1 API 更改 - 指定“组件”属性的新方法?

    Edit 这是 4 8 x 的打字错误 升级到 4 9 0 即可解决该问题 上版本4 8 0 以下代码编译并运行良好
  • JSX 支持哪些 ES6 功能?

    我在用着与 JSX 进行反应 with 反应工具 https www npmjs com package react tools将 JSX 代码编译为 JavaScript JSX 支持哪些 ES6 功能harmony选项已启用 感谢康加克
  • 在 Ruby 中,围绕子方法执行块的最佳方法是什么?

    我有一个父类 class Base def my method block method do EXECUTE WHATEVER S IN THE CHILD VERSION OF my method HOW TO DO end end d
  • 如何使用 setState 插入 React 的状态数组?

    我正在寻找在反应中修改和数组并在特定索引上插入元素 这就是我的状态 this state arr 我想做的是编译这个arr index random element 反应 js setState 语法 我试图做的是 this setStat
  • 如何通过比较React中同一数组中的Id和reference_id来重新排序数组列表

    这是我得到的数组 id 1 name hello world reference id null id 2 name hello world reference id null id 3 name hello world reference
  • React hooks 状态变量在重新渲染后未更新

    在下面的示例中 我有一个想要更新的元素 水果 数组 并使用更新后的数组执行其他操作 在本例中保存更新后的列表 我的理解是重新渲染状态将更新 但它不在这里 或者状态更新和我的操作之间存在延迟 In the addFruit功能我可以看到 Pe
  • 如何为 React 组件参数创建文字类型?

    我创建了 SelectProps 界面 export interface SelectProps value string options string onChange value any gt void 我创建了反应组件

随机推荐

  • 允许 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 事件