Так что я потратил некоторое время на это, и код там на 100% (мне нужно добавить ссылки на каждую страницу md), но вот что я сделал.Сортировка кода с помощью обычной html-сортировки делает свое дело, если вы не возражаете прыгать через некоторые скачки состояний, если вы выполняли отображение границ, как я.16 часов хорошо потрачены, прежде чем я наконец нашел решение.
Если таблица материалов не является моим окончательным решением, я вернусь и отправлю новый ответ.Я хочу, чтобы это было как можно больше ориентировано на будущее.
import React, { Component } from "react"
import { graphql, Link } from "gatsby"
import Layout from "../components/layout"
import ReactDOM from "react-dom"
import MaterialTable from "material-table"
class App extends Component {
render() {
const { data } = this.props
const posts = data.allMarkdownRemark.edges
return (
<Layout>
<div style={{ maxWidth: "100%" }}>
<MaterialTable
columns={[
{ title: "Title", field: "title" },
{ title: "Difficulty", field: "difficulty" },
{ title: "Year", field: "year" },
]}
data={posts.map(({ node }) => {
return {
key: `${node.fields.slug}`,
title: `${node.frontmatter.title}`,
difficulty: `${node.frontmatter.askedHistPercent1}%`,
year: `${node.frontmatter.askedHistYear1}`,
}
})}
// onRowClick={<Link to={key} />}
title=" "
options={{ paging: false }}
/>
</div>
</Layout>
)
}
}
export default App
export const basicQuery = graphql`
query {
site {
siteMetadata {
title
}
}
allMarkdownRemark(
filter: { frontmatter: { categories: { eq: "Statistics" } } }
sort: { fields: [frontmatter___title], order: ASC }
) {
edges {
node {
fields {
slug
}
frontmatter {
title
categories
askedHistPercent1
askedHistYear1
}
}
}
}
}
`