Kei*_*all 9 reactjs material-ui
我只想允许将特定字符输入到 Material-UI TextField 中。我看过我尝试过的不同示例,但我无法让它们中的任何一个工作。在我最后一次尝试中,我将所有东西都削减到最低限度,然后得到了这个
<TextField
inputProps={{ pattern: "[a-z]" }}
/>
Run Code Online (Sandbox Code Playgroud)
似乎这种模式只是被忽略了。
这仍然是应用模式的有效方法吗
感谢任何可以帮助我的人
下面是一个显示此工作的示例。输入上的“模式”属性不会阻止输入无效字符,但会用“:invalid”伪类标记输入。这是您可以阅读更多内容的一种资源。我添加了一些样式,以便您可以判断该模式是否有效。
如果您想防止输入无效字符,那么您可以使用 react-text-mask 查看我之前的示例答案(基于演示):How can I set material-ui TextField to accept only Hexidecimal characters
import React from "react";
import ReactDOM from "react-dom";
import TextField from "@material-ui/core/TextField";
import { withStyles } from "@material-ui/core/styles";
const styles = {
input: {
"&:invalid": {
border: "red solid 2px"
}
}
};
function App({ classes }) {
return (
<TextField
inputProps={{ className: classes.input, pattern: "[a-z]{1,15}" }}
/>
);
}
const StyledApp = withStyles(styles)(App);
const rootElement = document.getElementById("root");
ReactDOM.render(<StyledApp />, rootElement);
Run Code Online (Sandbox Code Playgroud)