reactjs - 如何在材料 ui 中显示比文本字段宽度更长的文本?
问题描述
目前我正在使用 ReactJs/Material UI 开发移动企业网络,我有疑问 How to show the user a character long than the limited width TextField
。
当然,用户可以通过触摸文本字段并移动光标来查看所有字符,但我需要一个更有效的方法。
以下是我提出的想法。
- 动画效果?(
TextField
未触摸时,前后移动使整个文字可见的效果) - 当用户触摸文本字段时显示
multiline
文本字段。multiline
(整个文本长度的动态)
任何的想法?
解决方案
我会保持简单:
对于长文本(内容、描述...):我将其设置为
multiline
对于短文本(电子邮件、密码...),我将
fullWidth
在移动设备上进行设置。
没有必要过度思考。查看您所知道的最流行网站的表格,您是否看到除fullWidth
or之外的其他内容multiline
?
但是,如果您将其设置为TextField
,则可以通过在 css 中multiline
设置来使其在没有足够空间显示长文本时自动调整大小。resize: both
默认值为none
(禁用)。
const useStyles = makeStyles({
textarea: {
resize: "both"
}
});
<TextField
label="MUI Text Area"
multiline
inputProps={{ className: classes.textarea }}
/>
你也可以使用TextareaAutosize
,但它很糟糕,看起来一点也不像开箱即用的 MUI 组件,所以不要使用它。
现场演示
推荐阅读
- xml - Oracle Sql 查询(XML 列)
- docker - 使用 docker ubuntu 服务器访问文件共享的正确方法
- amazon-web-services - 有没有办法指定任务放置策略,以便将新任务放置在具有最多可用内存的实例上?
- php - 超链接会打开一个新选项卡,该选项卡会在预期页面出现后立即关闭
- javascript - 拼命想弄清楚如何在 HTML 网站上显示 API 信息
- c++ - 触发c ++回调函数时如何更新swift变量
- gitlab-api - GitLab API - 搜索项目
- c - 交叉编译 libwebsockets 时,字段“ctx”有不完整的类型错误
- json - 通过 Logstash 将 JSON 从 CouchDB 解析到 ElasticSearch
- c++ - 使用指针作为模板参数