[wx-charts] 柱状图时间跨度大于25就显示不全

本文针对wx-charts在特定时间跨度下显示不全的问题,提出了通过picker组件和computed属性动态调整时间范围的解决方案,确保了时间跨度不超过25天或25个月时的正确显示。

问题复现
在这里插入图片描述

解决过程

  1. 尝试通过组件解决,在wx-charts的文档和社区转了好久也没有发现问题
  2. 经测试发现不是所有的时间段都显示不全,时间的天数跨度大于25天就显示不全
  3. 月份的跨度也不能大于25

经上面的过程,大致可以将逻辑设置为以下几步

a. 在picker设置拦截
b. 使用computed动态计算25的范围,包括天和月

codes:

天:

<picker mode="date" fields="day" start="{{_startDate}}" end="{{params.endDate}}" class="inline-block picker-wrap" value="{{params.startDate}}" bindchange="pickStartDate">
	<view class="picker">{{params.startDate}}</view>
</picker>

月:

<picker mode="date" fields="month" class="inline-block picker-wrap" start="{{_startDate}}" end="{{params.endDate}}" value="{{params.startDate}}" bindchange="pickStartDate">
	<view class="picker">{{params.startDate}}</view>
</picker>
computed = {
   _startDate(){
     let _date = '';
    if(this.params.type === 1){
      _date = dayjs(this.params.endDate).subtract(24, 'day').format('YYYY-MM-DD')
    }
    if(this.params.type === 2){
      _date = dayjs(this.params.endDate).subtract(24, 'month').format('YYYY-MM')
    }
    return _date
   }
 };

只是暂时性解决了,不知道还有啥好的办法,待更新

### 配置 Qiun-Data-Charts 柱状图默认显示特定的数据系列 为了实现柱状图默认仅展示特定的两个数据项,在初始化图表配置时,需调整 `series` 属性中的数据设置。具体操作是在定义图表选项时,通过筛选原始数据来确保只有目标数据被加入到 `series` 中。 ```javascript // 假设这是完整的原始数据集 const originalData = [ { name: '项目A', data: [10, 20, 30] }, { name: '项目B', data: [40, 50, 60] }, { name: '项目C', data: [70, 80, 90] } ]; // 只保留想要显示的数据序列 const filteredSeries = originalData.filter(item => ['项目A', '项目B'].includes(item.name)); // 初始化图表配置对象 const chartOptions = { series: filteredSeries, xAxis: { type: 'category', data: ['类别一', '类别二', '类别三'] }, yAxis: {}, title: { text: '自定义柱状图' } }; ``` 上述代码片段展示了如何过滤并构建一个新的 `filteredSeries` 数组,该数组只包含了名为 "项目A" 和 "项目B" 的两项数据[^1]。接着这个新的数组作为 `chartOptions.series` 的值传递给图表组件实例化方法中去创建一个新图表实例[^1]。 对于更复杂的场景,如果希望动态控制哪些条目可见,则可以考虑利用框架提供的 API 或事件机制来更新视图状态,从而达到交互式的隐藏/显示效果。这通常涉及到监听某些用户动作(比如点击按钮),然后相应地改变传入图表渲染函数的数据结构[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值