当前位置:   article > 正文

vant 2 :Picker 选择器 自定义时间选择器(年+月)_vue2移动端 van-picker 年月日选择

vue2移动端 van-picker 年月日选择

1.自定义设置起始年份

2.默认选择当前年月

3.可自定义确认取消按钮

样式:

 代码演示(vue2):

  1. <template>
  2. <div class="number">
  3. <van-picker
  4. class="picker"
  5. show-toolbar
  6. :columns="columns"
  7. @change="onChange"
  8. >
  9. <slot name="cancel"><div @click="onCancel">自定义取消</div> </slot>
  10. <slot name="title"> 标题 </slot>
  11. <slot name="confirm"> <div @click="onConfirm">自定义确认</div> </slot>
  12. </van-picker>
  13. </div>
  14. </template>
  15. <script>
  16. export default {
  17. name: 'Number',
  18. data () {
  19. return {
  20. columns: [],
  21. checkTime: {}
  22. }
  23. },
  24. created () {
  25. this.initTimeFn()
  26. console.log(this.columns)
  27. },
  28. methods: {
  29. initTimeFn () {
  30. const initTime = 2020
  31. for (let i = 0; i <= Number(new Date().getFullYear()) - initTime; i++) {
  32. this.checkTime[`${initTime + i}年`] = [
  33. '01月',
  34. '02月',
  35. '03月',
  36. '04月',
  37. '05月',
  38. '06月',
  39. '07月',
  40. '08月',
  41. '09月',
  42. '10月',
  43. '11月',
  44. '12月',
  45. '全部'
  46. ]
  47. }
  48. this.checkTime['全部'] = ['全部']
  49. this.columns = [
  50. {
  51. values: Object.keys(this.checkTime),
  52. defaultIndex: Number(new Date().getFullYear()) - initTime
  53. },
  54. {
  55. values: this.checkTime[`${new Date().getFullYear()}年`],
  56. defaultIndex: new Date().getMonth()
  57. }
  58. ]
  59. },
  60. onCancel () {},
  61. onConfirm () {},
  62. onChange (picker, values) {
  63. picker.setColumnValues(1, this.checkTime[values[0]])
  64. }
  65. }
  66. }
  67. </script>
  68. <style lang="less">
  69. .number {
  70. .picker {
  71. border: 1px solid pink;
  72. }
  73. }
  74. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/306584
推荐阅读
  

闽ICP备14008679号