滚动选择

效果图

底部滚动选择器 - 图1

页面代码

  1. <template>
  2. <view>
  3. <view>
  4. <picker :range="years" @change="yearChange">
  5. {{ years[yearsIndex] }}
  6. </picker>
  7. </view>
  8. </view>
  9. </template>
  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. years:["请选择年份",1998,1999,2000],
  6. yearsIndex:0
  7. }
  8. },
  9. methods:{
  10. yearChange:function(e){
  11. console.log(e)
  12. //获得对象的 detail的 value
  13. //通过数组的下标改变显示在页面的值
  14. this.yearsIndex = e.detail.value;
  15. }
  16. }
  17. }
  18. </script>

实现选择年份 在页面上显示, 通过控制台我们可以看到 this.yearsIndex = e.detail.value; 确实绑定在了数组上 来实现这个方法

多列选择器

多列选择器基于二维数组, 在标签中添加 mode=”multiSelector”

效果图

底部滚动选择器 - 图2

页面代码

  1. <template>
  2. <view>
  3. <!-- <view>
  4. <picker :range="years" @change="yearChange">
  5. {{ years[yearsIndex] }}
  6. </picker>
  7. </view> -->
  8. <!-- mode="multiSelector" 多列选择器 -->
  9. <view>
  10. <picker :range="years" @change="yearChange" mode="multiSelector">
  11. {{ years[0][yearsIndex1] }} --- {{ years[1][yearsIndex2] }}
  12. </picker>
  13. </view>
  14. </view>
  15. </view>
  16. </template>

js

  1. <script>
  2. export default {
  3. data() {
  4. return {
  5. years:[
  6. ["请选择年份", 1998, 1999, 2000],
  7. ["请选择日期", 11, 12, 13]
  8. ],
  9. yearsIndex1: 0,
  10. yearsIndex2: 0
  11. }
  12. },
  13. methods:{
  14. yearChange:function(e){
  15. console.log(e)
  16. //获得对象的 detail的 value
  17. //通过数组的下标改变显示在页面的值
  18. this.yearsIndex1 = e.detail.value[0];
  19. this.yearsIndex2 = e.detail.value[1];
  20. }
  21. }
  22. }
  23. </script>

时间选择

时间选择器 mode=”time”

代码

  1. <template>
  2. <view>
  3. <!-- <view>
  4. <picker :range="years" @change="yearChange">
  5. {{ years[yearsIndex] }}
  6. </picker>
  7. </view> -->
  8. <!-- mode="multiSelector" 多列选择器 -->
  9. <!-- <view>
  10. <picker :range="years" @change="yearChange" mode="multiSelector">
  11. {{ years[0][yearsIndex1] }} --- {{ years[1][yearsIndex2] }}
  12. </picker>
  13. </view> -->
  14. <picker mode="time" :range="years" @change="yearChange">
  15. <view>{{ timetext }} </view>
  16. </picker>
  17. </view>
  18. </template>
  19. <script>
  20. // export default {
  21. // data() {
  22. // return {
  23. // years:[
  24. // ["请选择年份", 1998, 1999, 2000],
  25. // ["请选择日期", 11, 12, 13]
  26. // ],
  27. // yearsIndex1: 0,
  28. // yearsIndex2: 0
  29. // }
  30. // },
  31. // methods:{
  32. // yearChange:function(e){
  33. // console.log(e)
  34. // //获得对象的 detail的 value
  35. // //通过数组的下标改变显示在页面的值
  36. // this.yearsIndex1 = e.detail.value[0];
  37. // this.yearsIndex2 = e.detail.value[1];
  38. // console.log(this.yearsIndex1)
  39. // console.log(this.yearsIndex2)
  40. // }
  41. // }
  42. // }
  43. export default{
  44. data(){
  45. return{
  46. timetext: '请选择时间'
  47. }
  48. },
  49. methods:{
  50. yearChange : function(e){
  51. console.log(e)
  52. this.timetext = e.detail.value;
  53. }
  54. }
  55. }
  56. </script>

地区选择

地区选择器 mode=”region”

效果图

底部滚动选择器 - 图3

代码

  1. <template>
  2. <view>
  3. <!-- <view>
  4. <picker :range="years" @change="yearChange">
  5. {{ years[yearsIndex] }}
  6. </picker>
  7. </view> -->
  8. <!-- mode="multiSelector" 多列选择器 -->
  9. <!-- <view>
  10. <picker :range="years" @change="yearChange" mode="multiSelector">
  11. {{ years[0][yearsIndex1] }} --- {{ years[1][yearsIndex2] }}
  12. </picker>
  13. </view> -->
  14. <!-- mode="time" 时间选择器-->
  15. <!-- <picker mode="time" :range="years" @change="yearChange">
  16. <view>{{ timetext }} </view>
  17. </picker> -->
  18. <!-- mode="region" 地区选择器 -->
  19. <picker mode="region" :range="years" @change="yearChange">
  20. <view>{{ timetext }} </view>
  21. </picker>
  22. </view>
  23. </template>
  24. <script>
  25. // export default {
  26. // data() {
  27. // return {
  28. // years:[
  29. // ["请选择年份", 1998, 1999, 2000],
  30. // ["请选择日期", 11, 12, 13]
  31. // ],
  32. // yearsIndex1: 0,
  33. // yearsIndex2: 0
  34. // }
  35. // },
  36. // methods:{
  37. // yearChange:function(e){
  38. // console.log(e)
  39. // //获得对象的 detail的 value
  40. // //通过数组的下标改变显示在页面的值
  41. // this.yearsIndex1 = e.detail.value[0];
  42. // this.yearsIndex2 = e.detail.value[1];
  43. // console.log(this.yearsIndex1)
  44. // console.log(this.yearsIndex2)
  45. // }
  46. // }
  47. // }
  48. // 时间选择器
  49. // export default{
  50. // data(){
  51. // return{
  52. // timetext: '请选择时间'
  53. // }
  54. // },
  55. // methods:{
  56. // yearChange : function(e){
  57. // console.log(e)
  58. // this.timetext = e.detail.value;
  59. // }
  60. // }
  61. // }
  62. //地区选择器
  63. export default{
  64. data(){
  65. return{
  66. timetext: '请选择地区'
  67. }
  68. },
  69. methods:{
  70. yearChange : function(e){
  71. console.log(e)
  72. this.timetext = e.detail.value;
  73. }
  74. }
  75. }
  76. </script>