首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否使用React-Admin / Material UI的文本字段保留换行符?

问是否使用React-Admin / Material UI的文本字段保留换行符?
EN

Stack Overflow用户
提问于 2019-05-02 01:33:24
回答 4查看 1.8K关注 0票数 3

我正在使用React-Admin,并且在我的数据库中有一个包含换行符(\n)的字段。当我在如下所示的页面上输出时:

<TextField source="extra_details" />

换行符将被忽略,所有内容都会一起运行。如何才能正确显示换行符?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2020-12-20 20:09:41

默认情况下,您可以使用pre-wrap样式创建自定义TextField:

代码语言:javascript
复制
import { FC } from "react";
import { TextField as BaseTextField, TextFieldProps } from "react-admin";
import { makeStyles } from "@material-ui/core/styles";

const useStyles = makeStyles({
  textContent: {
    whiteSpace: "pre-wrap"
  },
});

export const TextField: FC<TextFieldProps> = (props) => {
  const classes = useStyles();

  return <BaseTextField
    className={classes.textContent}
    {...props}
  />
}
TextField.defaultProps = {
  addLabel: true,
}

然后像使用供应商TextField一样使用它。

请注意addLabel选项:您需要它来保持标签与自定义组件一起显示。

您可以在此处获得更多详细信息和示例:https://marmelab.com/react-admin/Fields.html#styling-fields

票数 2
EN

Stack Overflow用户

发布于 2019-05-02 05:16:21

那<RichTextField />呢?

https://marmelab.com/react-admin/Fields.html#richtextfield

或者,您可以随时创建自己的TextField组件。

票数 0
EN

Stack Overflow用户

发布于 2019-05-05 21:56:56

风格可能会有所帮助。

代码语言:javascript
复制
import {withStyles} from "@material-ui/core/styles";

const styles = {
  displayLinebreakAndTab: {whiteSpace: "pre-wrap" },
};

const SomeText = withStyles(styles)(({classes, ...props}) => (
  <TextField
    className={classes.displayLinebreakAndTab}
    {...props}
  />
));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55940218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档