是否有任何方法可以重写'@devexpress/dx-react-grid-material-ui'库中的TableSummaryRow的样式?
我所拥有的:一个组件,它呈现表(使用'@devexpress/dx-react-grid-material-ui'库),并在最后一行输出表中的总行数。
我需要做的:样式表单元格,其中TableSummaryRow呈现结果。
我已经试过这个解决办法了,但它对我不起作用。
下面是我的组件的简单代码:
import React from 'react';
import { SummaryState } from '@devexpress/dx-react-grid';
import {
TableHeaderRow,
TableSummaryRow
} from '@devexpress/dx-react-grid-material-ui';
import { ExtendedGrid } from 'components/DxGrid/index';
const Table = ({ rows }) => (
<ExtendedGrid rows={rows} columns={reportColumns}>
<SummaryState totalItems={[{ columnName: 'userName', type: 'count' }]} />
<TableHeaderRow />
<TableSummaryRow messages={{ count: 'Number of rows' }} />
</ExtendedGrid>
);
export default Table;
根据TableSumrow的文档,您需要使用summarystate
组件。此外,由于某些原因,如果没有integratedsummary
组件,即使它被标记为可选,也无法使其工作。
你可以在这里找到工作演示。
下面是一段演示代码。全队有一个总重量排。
import React from "react";
import { render } from "react-dom";
import { SummaryState, IntegratedSummary } from "@devexpress/dx-react-grid";
import {
Grid,
Table,
TableHeaderRow,
TableSummaryRow
} from "@devexpress/dx-react-grid-material-ui";
class App extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
totalSummaryItems: [{ columnName: "weight", type: "sum" }],
columns: [
{ name: "name", title: "Name" },
{ name: "weight", title: "Weight" }
],
rows: [
{ name: "Sandra", weight: 123 },
{ name: "Andy", weight: 9000 },
{ name: "Einstein", weight: 56 },
{ name: "Bob", weight: 11 }
]
};
}
render() {
const { rows, columns } = this.state;
return (
<Grid rows={rows} columns={columns}>
<SummaryState totalItems={this.state.totalSummaryItems} />
<IntegratedSummary />
<Table />
<TableHeaderRow />
<TableSummaryRow messages={{ sum: "Total weight of the group" }} />
</Grid>
</Paper>
);
}
}
render(<App />, document.getElementById("root"));
我自己想出来的,也许对某人有用。
这个官方文件页面帮了我。所以我使用了makestyles
方法。
这里是工作演示。
和最后一个组件(基于安德烈·康斯坦丁诺夫的答案)代码:
import React from "react";
import { render } from "react-dom";
import Paper from "@material-ui/core/Paper";
import { makeStyles } from "@material-ui/styles";
import { SummaryState, IntegratedSummary } from "@devexpress/dx-react-grid";
import {
Grid,
Table,
TableHeaderRow,
TableSummaryRow
} from "@devexpress/dx-react-grid-material-ui";
const useStyles = makeStyles({
root: {
"& tfoot": {
"& td": {
background: "linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)",
"&:empty": {
background: "none"
}
}
}
}
});
const Hook = () => {
const data = {
totalSummaryItems: [{ columnName: "weight", type: "sum" }],
columns: [
{ name: "name", title: "Name" },
{ name: "weight", title: "Weight" }
],
rows: [
{ name: "Sandra", weight: 123 },
{ name: "Andy", weight: 9000 },
{ name: "Einstein", weight: 56 },
{ name: "Bob", weight: 11 }
]
};
const { rows, columns } = data;
const classes = useStyles();
return (
<Paper className={classes.root}>
<Grid rows={rows} columns={columns}>
<SummaryState totalItems={data.totalSummaryItems} />
<IntegratedSummary />
<Table />
<TableHeaderRow />
<TableSummaryRow messages={{ sum: "Total weight of the group" }} />
</Grid>
</Paper>
);
};
render(<Hook />, document.getElementById("root"));
目前我的列表都有折叠,但它们链接到一个“打开”的状态,所以如果我打开一个列表,所有其他列表都打开。什么是最好的方法来保持崩溃彼此分开,而不为每个列表提供大量的状态。 ThreadList.tsx
React Native Material UI (iOS and Android supported) Highly customizable material design components for React Native! Documentation Getting Started Usage Demo & Examples Components Showroom Savee.io i
问题内容: 我开始研究material-ui,并在SandBox中创建一个简单的应用程序:https ://codesandbox.io/s/eager-ride-cmkrc jss的样式对我来说并不常见,但是如果您通过这两个简单的练习帮助我,那么我将理解所有内容。 首先:我希望将和的通用属性合并到新类中并进行扩展:(https://github.com/cssinjs/jss- extend#u
问题内容: 如何为Material-UI的工具提示文本设置样式?悬停时的默认工具提示为黑色,没有文字换行。是否可以更改背景,颜色等?此选项是否可用? 问题答案: 关于这个问题的另一个流行的答案(由AndréJunges提出)是针对Material-UI的0.x版本。下面,我从Material UI的工具提示-自定义样式中复制了答案,该提示针对v3和v4进行了说明。 以下是如何通过主题覆盖所有工具提
问题内容: 我在项目中一直使用这两个工具,有时我发现需要在Bootstrap组件和UI显示中使用Material UI组件,这与我期望的一样。有人建议我不要使用这种方法。既然两者都在使用网格并且可以灵活使用,那有什么理由吗? 问题答案: 我倾向于冗长,因此我将简洁的答案放在这里: 结论: 谁说不好用两者可能只是在表达自己的观点,实际上说不好用两者在设计时确实缺乏上下文。@ user3770494提
问题内容: 如何使 Material UI* react 组件充当 react-router-dom中 的组件,而又不会失去其原始样式?就像在点击时更改路线一样。 * 像这样,但保持原始样式: 问题答案: 好的,这很容易,我不知道为什么它对我不起作用: 就是这样: