我对 laravel livewire 很陌生,我一直在尝试将 pikaday js 添加到我的项目中,但不幸的是,我无法将选定的日期绑定到 livewire 的公共属性中。
主文件($datebox2 是 livewire 组件内的公共属性,但无论日期如何,它始终为空):
<div class="">
<input x-text="$wire.set('datebox2', picker)" type="text" id="datepicker">
@include('components._ndatetime-picker')
</div>
components._ndatetime-picker.blade.php 文件
<div>
<script src="https://cdn.jsdelivr.net/npm/pikaday/pikaday.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/pikaday/css/pikaday.css">
<script src="pikaday.js"></script>
<script>
var picker = new Pikaday({
field: document.getElementById('datepicker'),
onSelect: date => {
var year = date.getFullYear(),
month = date.getMonth() + 1,
day = date.getDate(),
formattedDate = [
year,
month < 10 ? '0' + month : month,
day < 10 ? '0' + day : day
].join('-')
document.getElementById('datepicker').value = formattedDate
}
});
</script>
</div>