有人可以帮我使用material-ui库在TextArea中创建TextField个性化吗?我没有找到任何应该将其个性化为TextArea的参数:https://github.com/callemall/material-ui/blob/v1-beta/src/TextField/TextField.d.ts
这是TextArea:https://material.io/guidelines/components/text-fields.html#text-fields-field-types(CMD / Ctrl + F'文字区')。
文本区域高于文本字段并将溢出文本换行到文本区域 新队。当光标到达底部时,它们会垂直滚动 该领域。
提前致谢,
答案 0 :(得分:28)
要使TextField
像textarea
一样工作,您可以使用multiline
道具。您可以详细了解TextFied
及其props
here。
示例强>
<TextField
placeholder="MultiLine with rows: 2 and rowsMax: 4"
multiline={true}
rows={2}
rowsMax={4}
/>
答案 1 :(得分:0)
您应使用材料ui中可用的 TextareaAutosize API。
从'@ material-ui / core / TextareaAutosize'导入TextareaAutosize;
//或
从'@ material-ui / core'导入{TextareaAutosize};
下面的示例具有TextareaAutosize的所有属性。
https://material-ui.com/components/textarea-autosize/
希望这对你有用!
答案 2 :(得分:0)
我使用多行轮廓<TextField>
类似于文本区域
我实现了创建一个主题,以在<App/>
import { createMuiTheme} from '@material-ui/core/styles';
const theme = createMuiTheme({
overrides: {
MuiOutlinedInput: {
multiline: {
fontWeight: 'bold',
fontSize: '20px',
color: 'purple',
width: '50vw'
}
}
}
});
export default theme;
...
import { ThemeProvider } from '@material-ui/core/styles';
import Theme from './relevant-path-where-the-above-theme.js-file-is-saved/Theme';
...
...
render() {
return (
<ThemeProvider theme={Theme}>
<div className="App">
<Routes/>
</div>
</ThemeProvider>
);
}
...
<TextField
id="outlined-multiline-static"
label="Multiline"
multiline
rows={10}
variant="outlined"
/>
...
答案 3 :(得分:0)
如果你想要一些简单的东西而不是整个 material-ui 组件,只需使用以下代码:
textarea.style.height = textarea.scrollHeight+'px'
其中 scrollHeight
是 textarea 的内部高度,style.height
是外部(如果外部 < 内部,滚动条显示)