当前位置: 首页 > 知识库问答 >
问题:

如果设置类型为:“时间”,则chartjs/react-chartjs选项赋值中出现警告

顾俊楚
2023-03-14

我设置了以下选项:

export const options = {
  responsive: true,
  scales: {
    x: {
      ticks: {
        maxTicksLimit: 10,
        autoSkip: true,
        color: 'white',
      },
      type: 'time',
      adapters: {
        date: {
          locale: enGB,
        },
      },
    },
    y: {
      ticks: {
        color: 'white',
      },
    },
  },
  plugins: {
    legend: {
      display: false,
    },
    title: {
      display: true,
      text: 'IndexCoin Price',
      color: 'white',
    },
  },
}

然后我用在

 <Line options={options} data={dataSets} />

在这一行中,vscode red对有问题的第一个选项加下划线:

"min" | "max"> & { min: string | number; max: string | number; suggestedMin: string | number; ... 4 more ...; ticks: { ...; }; }> | ... 4 more ... | undefined'.
          Type '{ ticks: { maxTicksLimit: number; autoSkip: boolean; color: string; }; type: string; adapters: { date: { locale: Locale; }; }; }' is not assignable to type '_DeepPartialObject<{ type: "timeseries"; } & Omit<CartesianScaleOptions, "min" | "max"> & { min: string | number; max: string | number; suggestedMin: string | number; ... 4 more ...; ticks: { ...; }; }>'.
            Types of property 'type' are incompatible.
              Type 'string' is not assignable to type '"timeseries"'.ts(2322)
types.d.ts(19, 5): The expected type comes from property 'options' which is declared here on type 'IntrinsicAttributes & Omit<ChartProps<"line", number[], Date>, "type"> & { ref?: ForwardedRef<ChartJSOrUndefined<"line", number[], Date>> | undefined; }'

如果我删除选项中的type:'time',这种情况就会消失。不过,代码工作正常。为什么会发生这种情况?

共有1个答案

华萧迟
2023-03-14

显式设置类型应该可以消除类型错误。

import {
  ChartOptions
} from "chart.js";

const options: ChartOptions<"line"> = { /* ... */ };

有关更多信息,请查看 react-chartjs-2 文档中的常见问题解答。

 类似资料:
  • 这是我的代码。我需要在x和y轴刻度中将初始值设置为“0”。我尝试了最新的版本刻度选项。

  • 我正在尝试使用创建条形图。我试图让图表显示条向上,而低于1(例如0.8)的值向下。如果图表包含低于零的值,则将显示相同的图表。本质上,我试图将Y轴的基线改为1而不是0。 像这样:

  • 我已经尝试了我能想到的一切。我似乎无法让图表尊重到达div的底部。我在此 Codepen 中复制了我的图表,以便于分叉和编辑。我基本上将我的CSS直接从开发工具复制并粘贴到代码笔中 https://codepen.io/spkellydev/pen/JwQqKr?editors=1011

  • 我将ChartJS与插件ChartJS DataLabels一起使用,以在点的旁边显示文本值(谁会认为这个基本任务需要一个插件,但我离题了)。 我的问题是,我需要随单个数据集改变文本标签的颜色。但到目前为止我还没有找到解决办法。我动态添加新数据集,它们不是静态预加载的。颜色应与数据集的颜色匹配。 假设我有 不起作用。还尝试了一个函数,,但不确定如何检索我在这里获得的数据集的当前索引。 我正在动态地

  • 我有一张ChartJS图表,及时显示数据。 我使用以下时间格式: 我让用户从多个选项中选择: 最后一小时 最后一天 上个星期 上个月 现在,虽然我确实理解了为什么它会这样做(它需要大量的标签,而且标签比天多,所以它需要几个小时),但我不确定如何修复它。 我想在一周内让它显示格式。有没有办法用ChartJS实现这一点? 我不确定这是否有帮助,但我为每个屏幕显示的数据点数量各不相同,可以是5000-5

  • 我尝试使用拨号自动下插件数据标签,但它仍然重叠,有什么想法做,使他们不重叠? 以下是我的选择: