力量日期选择器以按时间顺序显示

发布于 2025-02-03 04:53:56 字数 478 浏览 6 评论 0原文

我有vuetify日期范围选择器

”在此处输入图像描述”

现在它显示

“在此处输入图像说明”

我想 force 始终首先在较小的日期顺序中显示我的模型。

前任。 5/1/2022-5/14/2022

I have vuetify date range picker

enter image description here

Right now it displays

enter image description here

I would like to force to always display in a lesser date order first for my model.

Ex. 5/1/2022 - 5/14/2022

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

兔小萌 2025-02-10 04:53:56

您可以使用计算的道具对日期进行排序/格式化,并将结果绑定到文本字段的value

                         

You can use a computed prop to sort/format the dates, and bind the result to the text field's value:

                         ????
<v-text-field :value="datesText" readonly />
<v-date-picker v-model="dates" range />
export default {
  data: () => ({
    dates: [/* date strings */],
  }),
  computed: {
       ????
    datesText() {
      const dateFormatter = new Intl.DateTimeFormat('en-US')
      return this.dates
        .sort((a, b) => new Date(a) - new Date(b))   // sort chronologically
        .map(d => dateFormatter.format(new Date(d))) // format date in en-US locale
        .join(' - ')
    },
  },
}

demo

烟花肆意 2025-02-10 04:53:56

您可以通过对V-Model输入值进行排序来实现这一目标。

演示

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    dates: [],
  }),
  computed: {
    dateRangeText () {
      return this.dates.sort().join(', ')
    },
  },
})
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<script src="https://unpkg.com/[email protected]/dist/vuetify.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/vuetify.min.css"/>
<div id="app">
  <v-app id="inspire">
    <v-row>
      <v-col
        cols="12"
        sm="6"
      >
        <v-date-picker
          v-model="dates"
          range
        ></v-date-picker>
      </v-col>
      <v-col
        cols="12"
        sm="6"
      >
        <v-text-field
          v-model="dateRangeText"
          label="Date range"
          prepend-icon="mdi-calendar"
          readonly
        ></v-text-field>
        model: {{ dates }}
      </v-col>
    </v-row>
  </v-app>
</div>

You can achieve this by sorting an v-model input value.

Demo :

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    dates: [],
  }),
  computed: {
    dateRangeText () {
      return this.dates.sort().join(', ')
    },
  },
})
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script>
<script src="https://unpkg.com/[email protected]/dist/vuetify.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/vuetify.min.css"/>
<div id="app">
  <v-app id="inspire">
    <v-row>
      <v-col
        cols="12"
        sm="6"
      >
        <v-date-picker
          v-model="dates"
          range
        ></v-date-picker>
      </v-col>
      <v-col
        cols="12"
        sm="6"
      >
        <v-text-field
          v-model="dateRangeText"
          label="Date range"
          prepend-icon="mdi-calendar"
          readonly
        ></v-text-field>
        model: {{ dates }}
      </v-col>
    </v-row>
  </v-app>
</div>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文