You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter的Syncfusion Calendar ResourceView中用分组替换操作员名称

使用Syncfusion Calendar ResourceView实现分组显示操作员及工作时长

核心实现思路

要实现分组替换操作员名称并同步展示名称+工作时长,核心是利用ResourceView的资源分组配置和自定义模板,覆盖默认的资源头部渲染逻辑。

具体实现步骤

  • 配置ResourceView分组规则
    先构造包含分组字段、操作员名称、工作时长的资源数据,再在Calendar初始化时指定分组依据:

    // 示例资源数据
    const resourceData = [
      { id: 1, name: '张三', duration: '8h', group: '早班组' },
      { id: 2, name: '李四', duration: '7.5h', group: '早班组' },
      { id: 3, name: '王五', duration: '8h', group: '晚班组' }
    ];
    
    // 初始化Calendar并配置ResourceView
    const calendarInstance = new ej.calendar.Calendar({
      resources: [
        {
          field: 'resourceId',
          title: '班组分组',
          dataSource: resourceData,
          groupBy: 'group', // 指定分组字段
          textField: 'name'
        }
      ],
      view: 'ResourceView' // 启用资源视图模式
    });
    
  • 自定义资源头部模板
    通过resourceHeaderTemplate属性,分别渲染分组标题和单个操作员的名称+工作时长:

    calendarInstance.resourceHeaderTemplate = function (data) {
      // 渲染分组头部
      if (data.resource.group) {
        return `<div class="group-title">${data.resource.group}</div>`;
      }
      // 渲染操作员信息
      return `<div class="operator-card">
                <span class="operator-name">${data.resource.name}</span>
                <span class="work-duration">${data.resource.duration}</span>
              </div>`;
    };
    
  • 样式优化(可选)
    添加CSS调整布局样式,让分组和操作员信息展示更清晰:

    .group-title {
      background: #f5f5f5;
      padding: 6px;
      font-weight: 600;
      text-align: center;
    }
    .operator-card {
      display: flex;
      justify-content: space-between;
      padding: 4px 8px;
    }
    .work-duration {
      color: #666;
      font-size: 0.9em;
    }
    

注意事项

  • 确保资源数据中包含完整的分组、名称、时长字段,避免渲染时出现空值
  • 若使用Angular/React/Vue等框架版本的Syncfusion Calendar,语法会有框架适配差异,但分组+自定义模板的核心逻辑一致
  • 确认已启用ResourceView视图模式,否则分组配置不会生效

内容的提问来源于stack exchange,提问作者Shweta Chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:42:03