【问题标题】:Pikaday DD/MM/YYYY format opening as MM/DD/YYYYPikaday DD/MM/YYYY 格式打开为 MM/DD/YYYY
【发布时间】:2021-12-18 20:50:12
【问题描述】:

我有一个带有以下高山代码的刀片组件

<div
x-data="{ value: @entangle($attributes->wire('model')), picker: undefined }"
x-init="new Pikaday({ field: $refs.input, format: 'DD/MM/YYYY', onOpen() { this.setDate($refs.input.value) } })"
x-on:change="value = $event.target.value"
class="input-group pe-2"
>
<span class="input-group-text">
    <i class="fa-solid fa-calendar-days"></i>
</span>

<input
    {{ $attributes->whereDoesntStartWith('wire:model') }}
    x-ref="input"
    x-bind:value="value"
    class="form-control"
/>
</div>

我可以选择 DD/MM/YYYY 格式的日期,问题是,当我第二次打开日期选择器时,当前写入输入的日期被视为 MM/DD/YYYY 然后日历跳错月份

例如,如果我第一次打开日期选择器并选择以下日期 04/11/2021(在 DD/MM/YY 中是 11 月 4 日),然后使用当前值再次打开日期选择器,那么它将2021 年 11 月 4 日开放(DD/MM/YY 是 4 月 11 日)

如何强制日期选择器打开以 DD/MM/YYYY 格式写入其中的日期?

在头部,我按以下顺序定义了脚本:

  1. 阿尔卑斯山
  2. 瞬间
  3. 皮卡迪
  4. js的捆绑组合

我不确定它是否是相关信息,但我使用的是 laravel-8,上面的代码是一个刀片组件 (),它在 livewire (V2) 组件中使用

【问题讨论】:

    标签: html datepicker laravel-8 laravel-livewire alpine.js


    【解决方案1】:

    检查您如何将pickadate 数据提交到后端,您可以在pickadate 中定义一个formatSubmit 选项。另外,检查你在加载时传递给pickadate的解析格式字符串日期

    【讨论】:

    • 感谢您提供的信息,我已经尝试过,但似乎没有用,我不知道为什么,但如果我删除 onOpen 字段并更改为 onSelect 那么它可以正常工作
    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2014-04-30
    • 2013-08-31
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    相关资源
    最近更新 更多