countdown.nvue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <view class="container">
  3. <uni-card is-full>
  4. <text class="uni-h6">倒计时组件主要用于促销商品剩余时间,发送短信验证等待时间等场景</text>
  5. </uni-card>
  6. <uni-section title="一般用法" type="line" padding>
  7. <uni-countdown :day="1" :hour="1" :minute="12" :second="40" />
  8. </uni-section>
  9. <uni-section title="不显示天数" subTitle="设置 show-day = false 不显示天" type="line" padding>
  10. <uni-countdown :show-day="false" :hour="12" :minute="12" :second="12" />
  11. </uni-section>
  12. <uni-section title="文字分隔符" subTitle="设置 show-colon 属性设置分隔符样式" type="line" padding>
  13. <uni-countdown :minute="30" :second="0" :show-colon="false" />
  14. </uni-section>
  15. <uni-section title="修改颜色" subTitle="设置 color \ background 属性设置组件颜色" type="line" padding>
  16. <uni-countdown :day="1" :hour="2" :minute="30" :second="0" color="#FFFFFF" background-color="#007AFF" />
  17. </uni-section>
  18. <uni-section title="修改字体大小" subTitle="设置 font-size 属性设置组件大小" type="line" padding>
  19. <uni-countdown :font-size="30" :day="1" :hour="2" :minute="30" :second="0" />
  20. </uni-section>
  21. <uni-section title="修改颜色 + 字体大小" type="line" padding>
  22. <uni-countdown :font-size="30" :day="1" :hour="2" :minute="30" :second="0" color="#FFFFFF" background-color="#007AFF" />
  23. </uni-section>
  24. <uni-section title="自由控制开始/暂停" subTitle="设置 start 属性控制是否自动开启" type="line" padding>
  25. <uni-countdown :start="start" :day="1" :hour="1" :minute="12" :second="40" />
  26. </uni-section>
  27. <uni-section title="倒计时回调事件" type="line" padding>
  28. <uni-countdown :show-day="false" :second="timeupSecond" @timeup="timeup" />
  29. </uni-section>
  30. <uni-section title="动态赋值" type="line" padding>
  31. <uni-countdown :show-day="false" :hour="testHour" :minute="testMinute" :second="testSecond" />
  32. </uni-section>
  33. </view>
  34. </template>
  35. <script>
  36. export default {
  37. components: {},
  38. data() {
  39. return {
  40. testHour: 1,
  41. testMinute: 0,
  42. testSecond: 0,
  43. start: false,
  44. timeupSecond: 10
  45. }
  46. },
  47. mounted() {
  48. setTimeout(() => {
  49. this.testHour = 1
  50. this.testMinute = 1
  51. this.testSecond = 0
  52. this.start = true
  53. }, 3000)
  54. setTimeout(() => {
  55. this.start = false
  56. }, 10000)
  57. },
  58. methods: {
  59. timeup() {
  60. uni.showToast({
  61. title: '时间到'
  62. })
  63. this.timeupSecond = 29
  64. }
  65. }
  66. }
  67. </script>
  68. <style lang="scss">
  69. </style>