我有一个带有2个'datetime-local'
类型输入的表单。其中一个已经从api响应中填充了,用户可以对其进行编辑并添加另一个。
我已经阅读了许多与之相关的问题,但是我尝试过的所有方法都不适合我。
api响应如下:
"last_login": "10/09/2019 11:31:41",
"date_joined": "10/09/2019 11:29:14"
我尝试更改小写和大写以及不同的格式,没什么...
Moment已安装并导入为
import moment from 'moment-timezone'
我尝试过的一件事是:
<label for="input-last_login">Last login</label>
<b-form-input
id="input-last_login"
type="datetime-local"
class="mb-2"
v-model="currentUser.last_login"
/>
<label for="input-data_joined">Data joined</label>
<b-form-input
name="input-data_joined"
type="datetime-local"
class="mb-2"
v-model="currentUser.date_joined"
/>
在脚本中,以下代码包含在我将用于更新用户的有效负载的声明中:
{
...
last_login: currentUser.last_login.format("DD-MM-YYYY hh:mm:ss").tz('Europe/Rome'),
date_joined: currentUser.date_joined.format("DD-MM-YYYY hh:mm:ss").tz('Europe/Rome'),
...
}
通过api获取的值未显示在输入中,并且在控制台中显示:
The specified value "16/09/2019 17:24:24" does not conform to the required format. The format is "yyyy-MM-ddThh:mm" followed by optional ":ss" or ":ss.SSS".
因此,我相应地更改了格式,但是日志保持不变。没什么改变。
我尝试了格式化程序,因此只需将其添加到
<b-form-input
:formatter="format"
...
/>
方法内部
format(value, event) {
return moment(value).format('YYYY-MM-DDThh:mm:ss').tz('Europe/Rome')
},
并简单地绑定两个输入值:
last_login: currentUser.last_login,
date_joined: currentUser.date_joined,
同样,我收到的值不会显示,并且控制台也显示相同的内容。
之前,我试图在格式化程序中返回一个简单的字符串,但看起来输入绕过了它,只有当我单击输入时,该字符串才出现,但我无法更改。表演很奇怪...
我只需要显示从api接收到的值,然后就可以对其进行编辑并添加另一个值,可能是通过单击时出现的日历来进行。 希望我已经足够清楚了, 谢谢。 xx