demo.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template>
  2. <div class="demo-list">
  3. <h4>默认用法</h4>
  4. <div>
  5. <nut-cell>
  6. <span slot="title">
  7. <nut-stepper @focus="focus" :blur="blur" :value.sync="val1" :max="12" :step="0.1" :decimalPlaces="1"></nut-stepper>
  8. </span>
  9. <span slot="desc">
  10. value: {{ val1 }} <button @click="reduce" class="demo-btn">-</button> <button @click="add" class="demo-btn">+</button>
  11. </span>
  12. </nut-cell>
  13. </div>
  14. <h4>设置最大最小值</h4>
  15. <div>
  16. <nut-cell>
  17. <span slot="title">
  18. <nut-stepper :value.sync="val2" @add-no-allow="addNoAllow" @reduce-no-allow="reduceNoAllow" :min="5" :max="100"></nut-stepper>
  19. </span>
  20. </nut-cell>
  21. </div>
  22. <h4>设置加减的步长</h4>
  23. <div>
  24. <nut-cell>
  25. <span slot="title">
  26. <nut-stepper :value.sync="val3" :step="5"></nut-stepper>
  27. </span>
  28. </nut-cell>
  29. </div>
  30. <h4>设置只读</h4>
  31. <div>
  32. <nut-cell>
  33. <span slot="title">
  34. <nut-stepper :value.sync="val4" readonly></nut-stepper>
  35. </span>
  36. </nut-cell>
  37. </div>
  38. <h4>显示边框</h4>
  39. <div>
  40. <nut-cell>
  41. <span slot="title">
  42. <nut-stepper :value.sync="val5" :simple="false"></nut-stepper>
  43. </span>
  44. </nut-cell>
  45. </div>
  46. <h4>关闭动画过渡</h4>
  47. <div>
  48. <nut-cell>
  49. <span slot="title">
  50. <nut-stepper :value.sync="val6" :transition="false" :simple="false" :max="999"></nut-stepper>
  51. </span>
  52. </nut-cell>
  53. </div>
  54. </div>
  55. </template>
  56. <script>
  57. export default {
  58. data() {
  59. return {
  60. val1: 1,
  61. val2: 12,
  62. val3: 5,
  63. val4: 0,
  64. val5: 0,
  65. val6: 0,
  66. };
  67. },
  68. methods: {
  69. addNoAllow() {
  70. alert('超出最大限制');
  71. },
  72. reduceNoAllow() {
  73. alert('超出最小限制');
  74. },
  75. focus(e, v) {
  76. console.log('focus,', e, v);
  77. },
  78. blur(e, v) {
  79. console.log('blur,', e, v);
  80. },
  81. add() {
  82. this.val1 = (Number(this.val1) + Number(0.1)).toFixed(1);
  83. },
  84. reduce() {
  85. this.val1 = Math.max(Number(this.val1) - 1, 0).toFixed(1);
  86. },
  87. },
  88. };
  89. </script>
  90. <style lang="scss" scoped>
  91. .demo-btn {
  92. border: 1px solid #ddd;
  93. background: #eee;
  94. border-radius: 4px;
  95. outline: none;
  96. padding: 3px 10px;
  97. cursor: pointer;
  98. transition: all 0.35s;
  99. &:hover {
  100. background: #ddd;
  101. }
  102. }
  103. </style>