找回密码
 立即注册

QQ登录

只需一步,快速开始

mtkj
金牌服务用户   /  发表于:2020-4-10 09:18  /   查看:2968  /  回复:1
66金币
[size=0.83em]
image.png95410460.png (30.15 KB, 下载次数: 0)
[color=rgb(153, 153, 153) !important]前天 16:43 上传




类似于上方图片 去选择一个时间的范围

最佳答案

查看完整内容

你好,这个Wijmo没有原生支持,有一个类似的实现请参考: 在这个示例中,替换app.js,运行后即可看到效果: https://demo.grapecity.com.cn/wi ... dar/Overview/purejs

1 个回复

倒序浏览
最佳答案
最佳答案
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-4-10 09:18:58
来自 2#
你好,这个Wijmo没有原生支持,有一个类似的实现请参考:


复制代码
  1. import 'bootstrap.css';
  2. import '@grapecity/wijmo.styles/wijmo.css';
  3. import './styles.css';
  4. import * as wijmo from '@grapecity/wijmo';
  5. import * as input from '@grapecity/wijmo.input';
  6. //
  7. document.readyState === 'complete' ? init() : window.onload = init;
  8. //
  9. function init() {
  10.         const elDayMap = new WeakMap();
  11.         const selectedDaySet = new Set();
  12.         const toYmd = (d) => wijmo.Globalize.formatDate(d, 'yyyy-MM-dd');
  13.         // the calendar
  14.         const theCalendar = new input.Calendar('#theCalendar', {
  15.                 value: null,
  16.                 isReadOnly: true,
  17.                 itemFormatter: (date, el) => elDayMap.set(el, date)
  18.         });
  19.         theCalendar.addEventListener(theCalendar.hostElement, 'click', (e) => {
  20.                 const clickedDay = elDayMap.get(e.target);
  21.                 if (clickedDay == null) return;

  22.                 const dateString = toYmd(clickedDay);
  23.                 if (selectedDaySet.has(dateString)) {
  24.                         selectedDaySet.delete(dateString);
  25.                 } else {
  26.                         selectedDaySet.add(dateString);
  27.                 }
  28.                 showSelectedDateList();
  29.                 theCalendar.invalidate();
  30.         });
  31.         theCalendar.formatItem.addHandler((sender, args) => {
  32.                 const selected = selectedDaySet.has(toYmd(args.data));
  33.                 wijmo.toggleClass(args.item, 'wj-state-selected', selected);
  34.                 wijmo.setAttribute(args.item, 'aria-selected', selected);
  35.         });
  36.         //
  37.         // show the currently selected date
  38.         function showSelectedDateList() {
  39.                 const el = document.querySelector('#theCalendarOutput');
  40.                 el.textContent = '';
  41.                 selectedDaySet.forEach((d) => {
  42.                         el.textContent = el.textContent + '[' + d + '] ';
  43.                 });
  44.                 el.textContent = el.textContent.trim();
  45.         }
  46.         showSelectedDateList();
  47. }
复制代码


在这个示例中,替换app.js,运行后即可看到效果:

https://demo.grapecity.com.cn/wi ... dar/Overview/purejs
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部