首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用日期选择器进行双向数据绑定?

问如何使用日期选择器进行双向数据绑定?
EN

Stack Overflow用户
提问于 2019-05-04 03:03:07
回答 1查看 310关注 0票数 0

我正在尝试使用Vuetify的日期选择器组件。我的日期来自我的C#,格式是DateTime。如何使用验证日期选择器进行双向数据绑定?

我想显示一个以前的日期,允许用户更改或不更改它。

谢谢

代码语言:javascript
复制
<v-menu ref="menu" v-model="menu" :close-on-content-click="false" :nudge-right="40" :return-value.sync="date" lazy transition="scale-transition" offset-y full-width min-width="290px">

<template v-slot:activator="{ on }">

  <v-text-field v-model="**editedItem.activationdate**" label="Picker in menu" prepend-icon="event" readonly v-on="on"></v-text-field>

</template>

<v-date-picker v-model="**editedItem.activationdate**" no-title scrollable>

<v-btn flat color="primary" @click="menu = false">Cancel</v-btn>
 <v-btn flat color="primary" @click="$refs.menu.save(editedItem.activationdate)">OK</v-btn>
</v-date-picker>
</v-menu>
EN

回答 1

Stack Overflow用户

发布于 2019-05-05 08:25:00

您必须将C#日期时间对象转换为JavaScript日期对象。在JS中,您可以通过传入自1970年1月1日以来的毫秒数来创建一个Date对象(new Date(0)将得到1970-01-01)。要获取此号码,您可以使用如下分机:

代码语言:javascript
复制
 public static class DateTimeExtensions
 {
    private static readonly long DatetimeMinTimeTicks =
        (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;

    public static long ToJavaScriptMilliseconds(this DateTime dt)
    {
        return (long)((dt.ToUniversalTime().Ticks - DatetimeMinTimeTicks) / 10000);
    }
  }

例如,现在你可以在后端执行以下操作:

代码语言:javascript
复制
long numberOfMilliseconds = DateTime.Now.ToJavaScriptMilliseconds(); //C#

并将其发送到前端,这样您就可以使用JavaScript完成以下操作:

代码语言:javascript
复制
var myDate = new Date(editedItem.numberOfMilliseconds); //JavaScript
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55975761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档