整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          只能選擇過去或者未來的時間段JS-日期和時間組件-layDate

          們在前端開發的時候經常遇到這樣的情況,比如:生日、訂單記錄等,只能選擇過去的時間,又如:預定只能選擇未來的時間。



          下面就給大家一個說明方法:

          方法:

          下載: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進行設計和實現。

          1. 日歷組件的設計思路和實現過程

          設計一個日歷組件,我們需要考慮以下幾個關鍵點:

          • 如何展示一個月的所有日期?
          • 如何處理跨月份的日期選擇?
          • 如何讓用戶選擇特定的日期?

          首先,我們需要創建一個包含一個月所有日期的數據結構。然后,我們需要創建一個視圖,將這些日期以一種易于理解的方式展示出來。最后,我們需要添加一些交互功能,讓用戶可以選擇特定的日期。

          1. 在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,
              };
            },
          };
          1. 組件的使用示例及可能的應用場景

          使用我們的日歷組件非常簡單。只需要將組件添加到你的模板中,并提供一個日期即可。

          <template>
            <Calendar :date="new Date()" @selectDate="handleSelectDate" />
          </template>

          在我們的日歷組件中,用戶可以選擇一個日期。當用戶選擇一個日期時,我們的組件會發出一個selectDate事件,我們可以在其他組件中監聽這個事件。

          例如,我們可以在一個表單組件中使用我們的日歷組件,讓用戶選擇一個日期。當用戶選擇一個日期時,我們可以更新表單的數據,并將數據提交到服務器。

          總結起來,通過使用Vue3和Typescript,我們可以創建出強大、易用且可維護的日歷組件。這種組件化的開發方式,不僅可以提高我們的開發效率,也可以讓我們的應用更加靈活和可擴展。


          主站蜘蛛池模板: 亚洲国产精品一区二区第一页免| 国产亚洲情侣一区二区无码AV| 无码国产精品一区二区免费式影视 | 国产AV天堂无码一区二区三区 | 国产午夜一区二区在线观看| 亚洲熟女一区二区三区| 一区在线免费观看| 国产免费播放一区二区| 中文字幕AV一区中文字幕天堂 | 亚洲韩国精品无码一区二区三区| 日本免费一区尤物| 久久无码一区二区三区少妇| 亚洲AV网一区二区三区| 国产一区二区三区内射高清| 亚洲欧美国产国产一区二区三区 | 日本不卡一区二区三区视频| 亚洲国产一区二区a毛片| 久久综合亚洲色一区二区三区| 久热国产精品视频一区二区三区| 日韩一区二区三区精品| 国精产品一区一区三区免费视频| 精品无码一区二区三区电影| 成人一区二区三区视频在线观看| 国产短视频精品一区二区三区| 精品亚洲AV无码一区二区三区| 色国产精品一区在线观看| 国产大秀视频一区二区三区| 精品国产一区在线观看| 无码少妇一区二区三区浪潮AV| 国产福利精品一区二区| 精品一区狼人国产在线| 国产在线第一区二区三区| 精品福利一区3d动漫| 亚洲国产日韩一区高清在线 | 精品久久久久久中文字幕一区| 精品无码国产一区二区三区麻豆| 国产在线一区二区三区在线| 亚洲一区二区三区在线播放 | 亚洲国产一区在线观看| 国产乱码一区二区三区四| 成人精品一区二区不卡视频|