整合營銷服務商

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

          免費咨詢熱線:

          只能選擇過去或者未來的時間段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,我們可以創建出強大、易用且可維護的日歷組件。這種組件化的開發方式,不僅可以提高我們的開發效率,也可以讓我們的應用更加靈活和可擴展。


          主站蜘蛛池模板: 秋霞鲁丝片一区二区三区| 国产日韩精品一区二区在线观看| 亚洲一区免费视频| 日本无码一区二区三区白峰美 | 国产精品分类视频分类一区| 日本一区二区视频| 日本一区二区三区精品视频| aⅴ一区二区三区无卡无码| 另类免费视频一区二区在线观看| 久久精品一区二区三区AV| 国产一区二区精品久久91| 日韩电影一区二区| 免费看AV毛片一区二区三区| 中文无码精品一区二区三区| 亚洲图片一区二区| 精品无码中出一区二区| 日本不卡一区二区三区| 精品一区二区三区| 成人区精品人妻一区二区不卡| 亚洲国产一区在线| 国产精品亚洲一区二区三区久久 | 亚洲A∨无码一区二区三区| 伊人久久精品一区二区三区| 亚洲国产精品一区二区三区久久| 国产成人无码一区二区三区| 精品免费国产一区二区| 亚洲乱码一区二区三区在线观看| 无码中文人妻在线一区二区三区 | 日韩精品乱码AV一区二区| 色一情一乱一伦一区二区三欧美| 精品国产一区二区三区AV性色| 色噜噜狠狠一区二区| 国产乱码精品一区二区三| 亚洲国产欧美日韩精品一区二区三区| 一区二区三区四区精品| 伊人色综合网一区二区三区 | 中文字幕精品无码一区二区三区 | 大伊香蕉精品一区视频在线| 亚洲精品日韩一区二区小说| 国产亚洲一区二区三区在线观看| 国产成人一区二区三区电影网站|