【发布时间】:2019-11-09 16:52:37
【问题描述】:
我正在尝试使用 Material-Table 组件 - 它非常适合我正在构建的表(添加、编辑、删除和搜索行)。我已经安装并使用它作为页面的子组件 - 一切正常,但是......
样式:页面中的所有自定义和内置样式在所有 Material UI 组件中都丢失了(即,AppBar 按钮之间没有填充/间距,自定义字体样式混乱)。
图标:表格中的图标不会呈现 - 它们只是显示为大的截断文本。
没有表格的其他页面的样式和图标不受影响。
有人有办法吗?提前致谢。
对于图标,我尝试重新安装库并导入。也试过放 html方法。材料表代码片段如下。
<MaterialTable
title="Editable Example"
columns={state.columns}
data={state.data}
actions={[
{
icon: 'edit',
tooltip: 'Edit Study',
onClick: (event, rowData) => alert("Do you want to edit " + rowData.name + "?")
},
rowData => ({
icon: 'clear',
tooltip: 'Delete User',
onClick: (event, rowData) => alert("You want to delete " + rowData.name),
disabled: rowData.birthYear < 2000
})
]}
editable={{
onRowAdd: newData =>
new Promise(resolve => {
setTimeout(() => {
resolve();
const data = [...state.data];
data.push(newData);
setState({ ...state, data });
}, 600);
}),
onRowDelete: oldData =>
new Promise(resolve => {
setTimeout(() => {
resolve();
const data = [...state.data];
data.splice(data.indexOf(oldData), 1);
setState({ ...state, data });
}, 600);
}),
}}
/>
【问题讨论】:
-
github.com/mbrn/material-table 是您正在使用的库吗?如果是这样,则package.json 将 Material-UI 作为依赖项而不是对等依赖项。这可能会导致您同时拥有两个版本的 Material-UI,这可能是您的问题的根源。
-
相关 GitHub 问题:github.com/mbrn/material-table/issues/472
-
非常感谢@RyanCogswell。这绝对是问题所在。我的项目时间有限,所以我最终只是用常规的材料 ui 重做它——我没有足够的经验来快速解决依赖问题(不是经过培训的编码器,所以我只在我们学习时才开始编码)在时间紧迫的情况下)。我有与材料表相同的材料 ui 版本 --> 4.0.1。如果有人可以指导我找到一些资源来解决,那将不胜感激! - 否则我以后再研究。
-
@RyanCogswell 如何同时拥有两个版本的 Material-UI?我正在使用
@material-ui/core@4.2.1并在 package-lock.json 文件中看到 "material-table" "version": "1.40.1" 具有@material-ui/core": "^4.0.1和依赖关系@material-ui/core": {"version": "4.2.1",...我的 SO 帖子 @987654324 @ -
我将 material-ui/core 和图标降级到 4.0.1,与为 material-table 列出的依赖项相同并修复了它。
标签: css reactjs icons material-ui material-table