gpt4 book ai didi

laravel - 如何将 javascript 回调传递给 Laravel-Charts 中的 PHP 构造

转载 作者:行者123 更新时间:2023-12-04 10:19:42 25 4
gpt4 key购买 nike

我正在使用 laravel-charts Laravel 7 中的包。我将 chartjs 的 datalabels 插件添加到 Chart 对象中,如下所示:

$this->options = [
'responsive' => true,
'maintainAspectRatio' => false,
'legend' => [ 'display' => false ],
'plugins' => [
'datalabels' => [
'color' => 'white',
'weight' => 'bold',
'font' => ['size' => 14],
'formatter' => ''
]
]

在另一个版本中,当我使用 vue.js 和 vue-chartjs 时,我能够使用这个格式化标签:
plugins: {
datalabels: {
formatter: function(value, context) {
return '$' + Number(value).toLocaleString();
},
}
}

如您所见,javascript 是作为 PHP 数组传递的。我不知道如何将该格式化程序传递给我的 laravel-charts 版本。

任何帮助是极大的赞赏。

最佳答案

Laravel Charts plugins option 必须是表示普通 Javascript 对象的字符串。我找不到任何实际文档,但您可以在此处阅读相关问题 "How to use ChartsJs plugin Datalabels js?" .

你必须像这样传递它:

$chart = new ChartTest;
$chart->labels(['One Thousand', 'Two Thousand', 'Three Thousand', 'Four Thousand']);
$chart->dataset('My dataset', 'bar', [1000, 2000, 3000, 4000]);

$chart->options([
// The whole plugins element is a string representing a JS object with plugins options
'plugins' => "{
datalabels: {
color: 'red',
font: {
size: 14,
weight: 'bold'
},
formatter: (value) => `\\$\${value}`
}
}"
]);

return view('chart', ['chart' => $chart]);

将申请 chartjs-plugin-datalabels选项:

Laravel ChartsJS

PS: weight属性必须在 font 内对象就像在我的例子中一样。

关于laravel - 如何将 javascript 回调传递给 Laravel-Charts 中的 PHP 构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60915553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com