小编Awo*_*ace的帖子

在 Material UI 菜单组件中禁用“通过键入选择”

我正在尝试制作一个弹出菜单,其中有几个不同的过滤器(按钮、选择和文本字段)。我正在使用 Material UI 菜单组件,但在尝试使用文本字段时遇到了问题。因为 Menu 组件的作用类似于<Select />,所以当我在文本字段中键入内容时,它会尝试选择不同的 MenuItem,而不是专注于文本框。

因此,使用下面沙箱中的示例,如果“搜索不同食物”文本框中以“A”、“B”或“C”开头,用户将无法输入任何内容。如果您想输入“apricots”,菜单会将焦点从文本框更改为“Apples”菜单项。

我在菜单 API 中没有看到任何支持此操作的道具,所以我很好奇是否有任何解决方法,甚至是更适合此操作的不同组件。

谢谢!

这是一个codesandbox:https ://codesandbox.io/s/wizardly-mccarthy-zy2b7

import { useState } from "react";
import "./styles.css";
import { Button, Menu, MenuItem, TextField } from "@material-ui/core";

export default function App() {
  const [menu, setMenu] = useState(null);
  const [text, setText] = useState("");

  return (
    <div className="App">
      <Button variant="outlined" onClick={(e) => setMenu(e.currentTarget)}>
        Filters
      </Button>

      <Menu
        anchorEl={menu}
        open={Boolean(menu)}
        getContentAnchorEl={null}
        anchorOrigin={{
          vertical: "bottom",
          horizontal: "left"
        }}
        onClose={() => setMenu(null)}
      >
        <MenuItem>Apples</MenuItem>
        <MenuItem>Bananas</MenuItem>
        <MenuItem>Carrots</MenuItem>
        <MenuItem>
          <TextField …
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

15
推荐指数
1
解决办法
6513
查看次数

在 Python 中创建自定义数据类型

希望标题不会太误导人,我不确定表达我的问题的最佳方式。

我正在尝试在 Python 中创建(X, Y)坐标数据类型。有没有办法创建“自定义数据类型”,以便我拥有一个具有值的对象,以及一些支持属性?

到目前为止,我已经做了这个简单的课程:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.tuple = (x, y)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望能够做这样的事情:

>>> p = Point(4, 5)
>>>
>>> my_x = p.x    # can access the `x` attribute with "dot syntax"
>>>
>>> my_tuple = p  # or can access the tuple value directly
                  # without needing to do `.tuple`, as if the `tuple`
                  # attribute is the "default" attribute for the object
Run Code Online (Sandbox Code Playgroud)

注意我并不是想简单地显示元组,我知道我可以用该__repr__方法来做到这一点 …

python

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

material-ui ×1

python ×1

reactjs ×1