当前位置:   article > 正文

vue3之使用naive ui 书写日期选择器_n-date-picker

n-date-picker

前言:有些系统是需要筛选时间等插件,阅读文档却又一知半解,这里详解一下naive ui 的日期选择器n-date-picker。

1.提前安装好naive ui 在页面使用n-date-picker。

  1. <n-date-picker
  2. :formatted-value="startTamp"
  3. type="date"
  4. placeholder="开始时间"
  5. @update:value="startTime">
  6. <template #date-icon>
  7. <n-icon :size="25" :component="ArrowDropDownFilled" />
  8. </template>
  9. </n-date-picker>
  10. <n-date-picker
  11. :formatted-value="endTamp"
  12. type="date"
  13. placeholder="结束时间"
  14. @update:value="endTime">
  15. <template #date-icon>
  16. <n-icon :size="25" :component="ArrowDropDownFilled" />
  17. </template>
  18. </n-date-picker>

2.formatted-value初始化的时需要值设置为null,这里不用v-model:value是因为使用Date Picker 格式化后的值。

  1. const startTamp = ref(null)
  2. const endTamp= ref(null)

3.type为选择器的属性,这里设置为data,接下来就点击选择并更新页面数据。如果使用两个选择器,使用验证使选择时间更加严谨。点击结束时间与开始时间一样。

  1. //点击开始时间
  2. function startTime(value,option){
  3. startTamp.value = option
  4. if(startTamp.value > endTamp.value){
  5. message.warning('请保证开始时间小于/等于结束时间')
  6. }
  7. }

4.展示最终效果。

文末,延申一下时间选择器的使用,如果结束时间需要每次打开页面就自动同步到当天的日期,可以如下这样做:

  1. // 获取当天时间
  2. var newDate = new Date();
  3. let Y = newDate.getFullYear() + "-";
  4. let M = (newDate.getMonth() + 1 < 10 ? "0" + (newDate.getMonth() + 1) : newDate.getMonth() + 1) + "-";
  5. let D = newDate.getDate() < 10 ? "0" + newDate.getDate() : newDate.getDate() + "";
  6. let endData = Y + M + D;
  7. endTamp.value = endData

最后附组件文档:日期选择器 Date Picker - Naive UI

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号