reactjs - 选择时更改日期的标题格式
问题描述
我正在使用来自 react-widgets 的 Datetimepicker。我想更改日期单元格的标题,以便在将鼠标悬停在日期上时,我会看到我需要的格式。目前,日历页脚中显示的标题和日期的格式为:"Month Date, Year"
. 我需要有"Date Month, Year"
我尝试过使用文化财产。我不确定我是否尝试正确。
<DateTimePicker
inputProps={{ component: props => <input {...props} placeholder="Select year" /> }}
dropUp
time={false}
max={new Date()}
onChange={(e) => this.onSelect(e)}
format="DD-MM-YYYY"
culture='en-AU'
editFormat="DD MMM, YYYY"
/>
解决方案
我希望有一些解决方案可以避免使用 JQuery。现在没有任何其他解决方案我这样做了:
创建了一个自定义日期选择器:
import React, { Component } from "react";
import DateTimePicker from 'react-widgets/lib/DateTimePicker';
import Moment from "moment";
export default class CustomDateTimePicker extends Component {
componentDidMount () {
var datePickerbutton = document.getElementsByClassName('rw-btn-select');
if (datePickerbutton.length) {
var $this = this;
datePickerbutton[0].onclick = () => {
$this.changeTitles();
setTimeout(() => {
document.getElementsByClassName('rw-calendar-btn-right')[0].onclick = $this.changeTitles;
document.getElementsByClassName('rw-calendar-btn-left')[0].onclick = $this.changeTitles;
}, 0);
}
}
}
changeTitles = () => {
setTimeout(()=> {
var primaryBtn = document.querySelectorAll('#createdOn-investigation .rw-calendar-footer .rw-btn-primary');
primaryBtn[0].innerText = Moment(primaryBtn[0].innerText).format('DD MMMM, YYYY');
var dateCells = document.querySelectorAll('#createdOn-investigation .rw-cell');
for (var i=0; i< dateCells.length; i++ ) {
let currCellDate = new Date(dateCells[i].getAttribute('title'));
dateCells[i].setAttribute('title', Moment(currCellDate).format('DD MMMM, YYYY'));
}
}, 0);
};
render() {
return (
<DateTimePicker
{...this.props}
/>
)
}
}
推荐阅读
- express - AMQP 和 Express,设置标头错误
- r - 重新排序来自 knitr 的输出
- javascript - 如何在cornerstonejs中更改手绘多边形的颜色
- javascript - 如何使用 DialogFlow 实现在回调函数中传递参数
- javascript - 等待加载所有动态添加的图像
- android - BiometricPrompt faceunlock 不起作用
- r - 在 R 中使用管道分配给列表
- node.js - 在 Windows 7 上安装节点模块时出现错误
- android - 滑动以从列表视图中删除项目
- prolog - 谓词未在 SWI-Prolog 中调用