我有一个以这种格式存储在数据库中的日期字符串集合:
2018-06-28T14:06:26.524Z
2018-07-02T10:32:18.818Z
2018-07-06T15:08:50.233Z
我需要在前端将这些日期转换为如下格式:
28 June 2018 14:06:26
02 July 2018 10:32:18
06 July 2018 08:50:23
我使用 date-fns 执行此操作的尝试是:
format(new Date(date), 'dd MMMM yyyy HH:MM:ss')
Run Code Online (Sandbox Code Playgroud)
问题是从上面返回的日期不正确:
2018-06-28T14:06:26.524Z回报28 June 2018 15:06:26
2018-07-02T10:32:18.818Z回报02 July 2018 11:07:18
2018-07-06T15:08:50.233Z回报06 July 2018 16:07:50
我在这里做错了什么以及如何解决这个问题以便正确返回日期?
我在 React 中编写了一个 CRUD 全栈任务应用程序。它连接到一个nodeJS API。该应用程序应该允许用户添加任务、删除任务以及更新在完成/不完整之间切换类。
我已经设法让这个应用程序正常工作,但我目前正在尝试通过将其拆分为单独的组件来进行重构。
重构前的工作示例
import React from 'react';
import ReactDOM from 'react-dom';
import axios from 'axios';
import './styles/styles.scss';
class App extends React.Component {
constructor() {
super();
this.handleAddTask = this.handleAddTask.bind(this);
this.handleDeleteTask = this.handleDeleteTask.bind(this);
this.handleToggleComplete = this.handleToggleComplete.bind(this);
this.state = {
tasks: []
};
}
getTasks() {
axios.get('http://localhost:3000/tasks')
.then(response => {
this.setState({ tasks: response.data });
})
.catch(function (error) {
console.log(error);
});
}
handleAddTask(e) {
e.preventDefault();
const newTaskDescription = e.target.elements.task.value.trim();
if(newTaskDescription.length) {
axios.post('http://localhost:3000/tasks', {
description: newTaskDescription
}).then(() => {
this.getTasks(); …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个 slate 文本编辑器,用户可以在其中添加图像和文本。我还想要一个悬停工具栏,根据用户选择的元素类型提供不同的按钮。
例如,如果用户选择了一个图像,那么我想提供一组按钮。如果用户选择了一个段落,我想提供另一组按钮。
在查看此处找到的示例后:
https://www.slatejs.org/examples/richtext
我拼凑了一个我想要的文本编辑器的粗略示例,没有依赖上下文的悬停工具栏按钮:
https://codesandbox.io/s/suspicious-pine-lrxgw
但是我正在努力弄清楚如何检测在编辑器中选择了什么类型的元素?我不知道是否有办法使用 slate-react 来做到这一点?甚至在香草 JS 中?
理想情况下,我还可以获取有关该元素的其他信息。例如图像的高度和宽度,因为这将有助于造型。
任何帮助表示赞赏