在使用Chart Js时是否可以覆盖Material UI效果?

w8f9ii69  于 2023-08-05  发布在  Chart.js
关注(0)|答案(1)|浏览(180)

我目前正在尝试制作一个包含图表的卡片组件。我用Chart Js创建了这个折线图,我的React JS主要是在MUI中,当我在图表周围 Package Paper或Card组件时,它会改变一些样式,例如使背景变为白色。如果我把它放在一个div中,它会保留它的属性,有没有人能解决这个问题?

const labels = ["1", "2", "3", "4", "5"];

  const data = {
    labels: labels,
    datasets: [
      {
        label: "Assessment Score",
        data: [20, 50, 40, 80, 100],
        fill: false,
        borderColor: "#a259ff",
        tension: 0.1,
        fill: true,
      },
    ],
  };
  const options = {
    scales: {
      x: {
        grid: {
          color: "#3c3c3c",
        },
        ticks: {
          color: "#ffffff",
        },
      },
      y: {
        grid: {
          color: "#3c3c3c",
        },
        ticks: {
          color: "#ffffff",
        },
      },
    },
  };
  return (
    <div
      style={{
        background: "linear-gradient(180deg, #1a1a1a 10%, #4b4b4b 75%)",
        color: "#1b1b1b",
        height: "100vh",
        width: "100%",
      }}
    >
      <Paper sx={{ w: "250px", h: "400px" }}>
        <Line data={data} options={options} />
      </Paper>
    </div>
  );
};

export default ApplicationContent;

字符串

qnyhuwrf

qnyhuwrf1#

你需要定义图表样式,否则在某些情况下父样式会覆盖图表。下面的代码为我工作-

<div
  style={{
    background: "linear-gradient(180deg, #1a1a1a 10%, #4b4b4b 75%)",
    color: "#1b1b1b",
    height: "200px",
    width: "100%",
  }}
>
  <Paper sx={{ w: 250, h: 400, background: 'red' }}>
      <canvas style={{ background: 'white' }} id="chart-id" />
  </Paper>
</div>

字符串
在这里,您可以看到我已经定义了图表背景。在您的代码中,我可以看到一个组件Line。我猜它是主图表的 Package 。你需要将样式添加到id/ref为chart的元素中。可以将style/className作为props传递给Line组件,然后将其分配给chart元素。让我知道这个答案是否有帮助。

相关问题