typescript - 顶点图表 x 轴标签未更新
问题描述
嗨,我正在用 Vue 3 和打字稿做 Apexchart。但是除了轴标签之外的数据没有更新。
在设置时,我声明了 series 和 chartOptions 反应式。我将系列数据设置为数组。它chartoptions xaxis类别。我从商店查看 dateRange 的值。并在更新时调用 fetchData 方法。和 fetData() 方法。在我的模板中
<apexchart type="bar" height="350" :options="chartOptions" :series="series"></apexchart>
const fetchData = (dateInput: any) => {
let invoiceChartResponse = useRequest<InvoiceChart[]>(`invoice/chart?input=` + JSON.stringify(dateInput.value))
watch(
() => invoiceChartResponse,
(invoiceChartResponse, prevState) => {
console.log(invoiceChartResponse, "invoiceChartResponse")
if(invoiceChartResponse.data && objectHasProperty(invoiceChartResponse.data[0], 'new_date')){
let groupData = groupBy(invoiceChartResponse.data, 'new_date')
let keys = Object.keys(groupData)
if(keys.length > 0){
keys.forEach(key => {
series[0].data.push(groupData[key].length);
if(! chartOptions.xaxis.categories.includes(key)){
chartOptions.xaxis.categories.push(key);
}
})
}
}
else{
chartOptions.xaxis.categories = []
series[0].data = []
}
},
{
immediate: true,
deep: true
}
)
}
const dateRange = computed(() => $store.getters['application/date_range'])
watch(
() => dateRange,
(dateRange, prevState) => {
fetchData(dateRange)
},
{
immediate: true,
deep: true
}
)
...
setup() {
const series = reactive([{
name: 'Invoice',
data: Array()
}])
const chartOptions = reactive({
chart: {
id: 'chart1',
},
xaxis: {
categories: [''],
position: 'top',
},
})
return {
series,
chartOptions,
}
},
然后,我从商店获得价值
const dateRange = computed(() => $store.getters['application/date_range'])
解决方案
推荐阅读
- azure - 如何在 ADF 中获取自纪元以来的毫秒数
- firebase - firebase firestore 读取如何计算?
- python - 如何使用python根据相关统计进行最佳分组?
- python - 不能将序列乘以“float”类型的非整数(没有库的图像混合)
- python - 返回作为第二个参数传递的数组中第一个参数的索引的函数
- amazon-web-services - AWS Cognito 在将 istio sidecar 添加到 pod 后无法进行身份验证
- javascript - 将媒体对象从视图发布到控制器
- python - 当我输入任何和每个 pip 命令时都会出现 pip 错误
- excel - 从 Visual Basic 中获取价值
- reactjs - 如何部署更新项目并在 github 上发布?