Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Material-ui如何使搜索文本字段在material-table中展开

Material-ui如何使搜索文本字段在material-table中展开
EN

Stack Overflow用户
提问于 2020-04-05 19:37:29
回答 1查看 3.1K关注 0票数 1

我使用的是material-table,我想让搜索文本字段像在这个example中那样可扩展。但是我不知道如何更改该文本字段的样式。

My table

我试过这样的方法,但不起作用..

代码语言:javascript
运行
AI代码解释
复制
options={{
                searchFieldStyle: {
                    padding: theme.spacing(1, 1, 1, 0),
                    // vertical padding + font size from searchIcon
                    paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,
                    transition: theme.transitions.create('width'),
                    width: '100%',
                    [theme.breakpoints.up('sm')]: {
                        width: '12ch',
                        '&:focus': {
                            width: '20ch',
                        },
                    },
                }
            }}
EN

回答 1

Stack Overflow用户

发布于 2020-04-06 11:37:37

MaterialTable options中,searchFieldStyle参数是正常的。

现在,由于您没有提供完整的代码,所以我不能假定您在组件中正确地导入了theme。在未来请提供最小工作变体的代码量,添加一个工作沙箱/小提琴将更好。

可以使用Material-UI read more HERE中的useTheme钩子在组件中使用theme

代码语言:javascript
运行
AI代码解释
复制
import { useTheme } from "@material-ui/core/styles";

....

const theme = useTheme();

现在,当您将样式传递给MaterialTable的searchComponent时,您不能像在JSS中那样使用style和breakPoints,这是内联CSS。

因此,为了使用媒体查询,您需要使用useMediaQuery钩子,请阅读更多HERE

此外,为了使样式基于断点,最好为样式创建一个单独的变量。

代码语言:javascript
运行
AI代码解释
复制
import useMediaQuery from "@material-ui/core/useMediaQuery";
import { useTheme } from "@material-ui/core/styles";

....

const theme = useTheme();
const smUp = useMediaQuery(theme.breakpoints.up("sm"));

let customStyle = {
  padding: theme.spacing(1, 1, 1, 0),
  // vertical padding + font size from searchIcon
  paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,
  transition: theme.transitions.create("width"),
  width: "100%"
};

if (smUp) {
  customStyle = {
    ...customStyle,
    width: "24ch",
    color: "red",
    }
  };
}

...

options={{
    ...
    searchFieldStyle: customStyle,
}}

正如您所看到的,使用useMediaQuery和修改customStyle变量来执行断点规则theme.breakpoints.up("sm")

您不能做的一件事是伪:focus,因为React不支持内联css伪元素。

而且,即使你实现了将焦点放在那里,也不会对你有什么好处,因为searchFieldStyle样式化了父div class="MuiInputBase-root MuiInput-root MuiInput-underline MuiInputBase-formControl MuiInput-formControl MuiInputBase-adornedStart MuiInputBase-adornedEnd"。如果将焦点放在实际的输入元素上,则不会触发Mui-Root容器上的焦点

我还创建了一个工作沙箱,您可以查看HERE

如果您想要使用转换,唯一可行的解决方案是创建您自己的输入,覆盖示例中显示的HERE所示的<ToolbarComponent>。之后,为数据创建您自己的过滤函数,并将其传递给表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61048405

复制
相关文章
offset size_c语言sizeof求结构体长度
sizeof与offsetof在程序中经常遇到,但在面试中其应用使得许多小伙伴吃闭门羹,被面试官问得哑口无言。接下来对两者的应用做详细介绍。
全栈程序员站长
2022/09/23
7080
RSA密钥长度、明文长度和密文长度
本文介绍RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,天缘以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RSA,让各位了解RSA算法本身其实也很简单,RSA的复杂度是因为数学家把效率和安全也考虑进去的缘故。
竹清
2018/08/31
22.5K0
Redis的SDS的内部结构,它的长度和空间预分配策略
SDS(Simple Dynamic String)是Redis中用于处理字符串的数据结构。
一凡sir
2023/09/14
5050
Redis的SDS的内部结构,它的长度和空间预分配策略
NUMBER长度的误解
NUMBER类型是Oracle的一种变长数值类型,他的取值范围是10^(-130)-10^126(不包括),精度是38位,存储空间是1-22字节。
bisal
2020/04/17
3.2K0
数据结构--链表--单链表中环的检测,环的入口,环的长度的计算
完整代码见:https://github.com/hitskyer/course/tree/master/dataAlgorithm/chenmingming/linkedList
Michael阿明
2021/02/20
5950
数据结构--链表--单链表中环的检测,环的入口,环的长度的计算
24:单词的长度
24:单词的长度 总时间限制: 1000ms 内存限制: 65536kB描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。  注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。 输入一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。输出依次输出对应单词的长度,之间以逗号间隔。样例输入 She was born in 1990-01-02 and
attack
2018/04/03
1.8K0
webservice最大长度_网址最大长度
HTTP GET请求的最大长度是多少? 是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误?
全栈程序员站长
2022/09/23
3.3K0
webservice最大长度_网址最大长度
套接字地址结构的长度之类的值-结果参数要用指针来传递原因
当函数调用时,结构大小是一个值,它告诉内核该结构大小,这样内核在写该结构时,不至于越界;当函数返回时,结构大小又是一个结果,他告诉进程内核在改结构中究竟 存储了多少信息。
心跳包
2020/08/31
1K0
LeetCode 数据结构与算法无重复字符的最长子串长度详解
我们可以利用 hash 来判断不重复子串。如果 hash 表中存在该字符串,就进入下次循环;如果不存在,就放入集合中然后在再移动右指针。
PHP开发工程师
2022/04/12
2770
mysql前缀索引 默认长度_如何确定前缀索引的长度?
Specified key ‘uniq_code’ was too long; max key length is 767 bytes.
全栈程序员站长
2022/08/31
3.7K0
密码学系列之:Merkle–Damgård结构和长度延展攻击
Merkle–Damgård结构简称为MD结构,主要用在hash算法中抵御碰撞攻击。这个结构是一些优秀的hash算法,比如MD5,SHA-1和SHA-2的基础。今天给大家讲解一下这个MD结构和对他进行的长度延展攻击。
程序那些事
2021/07/23
1.9K0
数据结构算法操作试题(C++/Python)——最后一个单词的长度
数据结构算法操作试题(C++/Python):数据结构算法操作试题(C++/Python)——目录
莫斯
2020/09/09
3200
ACL 2022 | 基于长度感知注意机制的长度可控摘要模型
以往的长度可控摘要模型大多在解码阶段控制长度,而编码阶段对指定的摘要长度不敏感。这样模型倾向于生成和训练数据一样长的摘要。在这篇论文中,作者提出了一种长度感知注意机制(LAAM,length-aware attention mechanism)来适应基于期望长度的编码。
zenRRan
2023/01/12
9910
ACL 2022 | 基于长度感知注意机制的长度可控摘要模型
任务显示与隐藏,任务管理器中应用程序显示与隐藏,悬浮窗任务栏显示 效果
1. 隐藏底部 “任务栏图标”和 隐藏 “任务任务管理器——应用程序—任务” ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);                        
全栈程序员站长
2021/12/06
1.6K0
序列比对的长度限制
前几天做序列比对,试了MUCSLE和MAFFT,但是程序总是被kill。刚开始以为是序列格式不对,但是检查到最后发现是序列太长了。以前没注意过这些比对算法对长度的要求,此文记录一下。
Listenlii-生物信息知识分享
2020/05/29
4K0
QML获取文字的长度
额外增加一层的Text, 并通过绑定父级的Text文本属性,即使父级的文本的width属性改变也不会影响到textLength的获取。
Qt君
2019/07/15
3.3K0
javascript计算对象的长度
计算对象的长度,即获取对象属性的个数 方法一:通过for in 遍历对象,并通过hasOwnProperty判断是否是对象自身可枚举的属性 var obj = {"c1":1,"c2":2}; function countProperties(obj){ for(var property in obj){ if(Object.prototype.hasOwnProperty.call(obj,property){ count++; })
用户1214487
2018/01/24
1.6K0
长度未知的数组大小
malloc 和 calloc都可以被用于申请堆上的空间。 malloc 和 calloc主要有两点不同:
小飞侠xp
2021/04/13
2.6K0
移动适配的长度单位
例:html中字体尺寸为 20px,盒子宽度为 5rem,则最后显示的盒子宽度为 100px。
岳泽以
2022/10/26
1.3K0
移动适配的长度单位
点击加载更多

相似问题

在Blender中获取关键帧点数组

14

blender _ python中的连接节点

12

命名组+x修改器

11

收集选项组值并将值插入到表中

12

如何使用Python在Blender 2.78a中制作关键帧?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档