們在前端開發的時候經常遇到這樣的情況,比如:生日、訂單記錄等,只能選擇過去的時間,又如:預定只能選擇未來的時間。
下面就給大家一個說明方法:
方法:
下載:layui.laydate 組件獨立版:
章目錄
一 bootstrap 時間日期日歷控件datetimepicker
應用
涉及的樣式
圖片樣式展示
pc
手機
屬性及使用示例
可用屬性列表
示例1:2017-03-30 上午 09:50
示例2:2017-03-30
示例3:僅選擇時間
2.3 weekStart 一周從那一天開始
2.4 startDate 開始時間
2.5 endDate 結束時間
2.6 daysOfWeekDisabled 一周禁用的日期
2.7 autoclose 是否自動關閉日期選擇器
2.8 startView 日期時間選擇器打開之后首先顯示的視圖。
2.9 minView 日期時間選擇器所能提供的最精確的時間選擇視圖
2.10 maxView 日期選擇器最高能展示的范圍視圖
2.11 todayBtn 是否顯示'today'按鈕
2.12 todayHighlight 當天日期高亮
2.13 keyboardNavigation 方向鍵改變日期
2.14 language 語言
2.15 forceParse 強制解析
2.16 minuteStep 步進值
2.17 pickerPosition 選擇框的位置
2.18 showMeridian 是否顯示上午/下午
2.19 initialDate 初始化日期時間
3.1綁定輸入框,并設置format選項
3.2作為組件使用:
3.3時間范圍選擇聯動
具體屬性展示
一 bootstrap 時間日期日歷控件datetimepicker
應用
手機
pc
涉及的樣式
<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.bootcss.com/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="static/js/moment-with-locales.js"></script>
<script src="https://cdn.bootcss.com/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
1
2
3
4
5
6
7
圖片樣式展示
pc
<div class="col-sm-4">
<div class="input-group">
<span class="input-group-addon">開始日期</span>
<a class='input-group date' id='datetimepicker3'>
<input type='text' class="form-control" id="startDate" readonly/>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</a>
<span class="input-group-addon">~</span>
<span class="input-group-addon">結束日期</span>
<a class='input-group date' id='datetimepicker4'>
<input type='text' class="form-control" id="endDate" readonly/>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</a>
</div>
</div>
<div class="form-group col-lg-6">
<div class="input-group">
<span class="input-group-addon">活動結束日期</span>
<a class='input-group date' id='datetimepicker2'>
<input type='text' class="form-control" id="activityEnd" name="activityEnd"/>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
<span class="input-group-addon" style="color:#F00">*</span>
</a>
</div>
</div>
手機
<div class="form-group">
<div class="input-group date form_date" id="datepicker" data-date="" data-date-format="dd MM yyyy" data-link-field="dtp_input2" data-link-format="yyyy-mm-dd" style="width:92%;">
<input class="form-control" size="16" type="text" value="${initialDate}" name="PARAM9" readonly="readonly" id="PARAM9">
<span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span></span>
</div>
<input type="hidden" id="dtp_input2" value="" />
</div>
1
2
3
4
5
6
7
屬性及使用示例
<input type="text" readonly class="date" data-link-field="date" />
<input type="hidden" id="date" />
$('.date').datetimepicker();
1
2
3
選中的日期會被存放在id為date的input里。
//設置日期時間控件
$('#datetimepicker1').datetimepicker({
language: 'zh-CN',//顯示中文
format: 'yyyy-mm-dd hh:ii:ss',//顯示格式
minView: 0,//設置只顯示到月份
initialDate: new Date(),
autoclose: true,//選中自動關閉
todayBtn: true,//顯示今日按鈕
locale: moment.locale('zh-cn')
});
現代前端開發中,組件化是一個重要的趨勢。通過創建可重用的組件,我們可以提高代碼的復用性,降低維護成本。在這篇文章中,我們將以一個簡單的日歷組件為例,詳細介紹如何在Vue3中使用Typescript進行設計和實現。
設計一個日歷組件,我們需要考慮以下幾個關鍵點:
首先,我們需要創建一個包含一個月所有日期的數據結構。然后,我們需要創建一個視圖,將這些日期以一種易于理解的方式展示出來。最后,我們需要添加一些交互功能,讓用戶可以選擇特定的日期。
在Vue3中,我們可以使用Composition API來組織我們的代碼。這使得我們的組件更加模塊化,更容易測試和維護。
首先,我們需要定義我們的組件的類型。這包括組件的props、emits和state。例如,我們可以定義一個Calendar組件,它接受一個日期作為prop,并發出用戶選擇日期的事件。
import { defineComponent, PropType } from 'vue';
export default defineComponent({
name: 'Calendar',
props: {
date: {
type: Object as PropType<Date>,
required: true,
},
},
emits: ['selectDate'],
});
然后,我們需要定義我們的組件的邏輯。這包括如何生成一個月的日期,以及如何處理用戶的交互。
import { ref, onMounted } from 'vue';
?
export default {
setup(props) {
const dates = ref(generateDates(props.date));
?
function generateDates(date: Date): Date[] {
// ...省略具體實現...
}
?
function selectDate(date: Date): void {
emit('selectDate', date);
}
?
return {
dates,
selectDate,
};
},
};
使用我們的日歷組件非常簡單。只需要將組件添加到你的模板中,并提供一個日期即可。
<template>
<Calendar :date="new Date()" @selectDate="handleSelectDate" />
</template>
在我們的日歷組件中,用戶可以選擇一個日期。當用戶選擇一個日期時,我們的組件會發出一個selectDate事件,我們可以在其他組件中監聽這個事件。
例如,我們可以在一個表單組件中使用我們的日歷組件,讓用戶選擇一個日期。當用戶選擇一個日期時,我們可以更新表單的數據,并將數據提交到服務器。
總結起來,通過使用Vue3和Typescript,我們可以創建出強大、易用且可維護的日歷組件。這種組件化的開發方式,不僅可以提高我們的開發效率,也可以讓我們的應用更加靈活和可擴展。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。