您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

CarUserType.vue 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <picker color="uni-picker-container" :disabled="dataList.disabled" range-key="lable" mode="selector"
  3. @change="bindPickerChange($event)" :range="selectorObj">
  4. <view class="text">
  5. {{handleTxt}}
  6. </view>
  7. </picker>
  8. </template>
  9. <script setup lang='ts'>
  10. import {
  11. computed,
  12. ref
  13. } from 'vue'
  14. const selectorObj = [{
  15. 'lable': '普通车',
  16. 'value': 0
  17. }, {
  18. 'lable': '包含“货物专用运输(集装箱) ”的牵引车办理J类型集装箱',
  19. 'value': 24
  20. }, {
  21. 'lable': '不含“货物专用运输(集装箱)”的牵引车',
  22. 'value': 27
  23. }, {
  24. 'lable': '包含“货物专用运输 (集装箱)"和“普通货运”等其他项目的牵引车办理J2类型集装箱',
  25. 'value': 28
  26. }]
  27. const props = defineProps(['dataList'])
  28. const emit = defineEmits(['useCarUserType'])
  29. const handleTxt = computed(() => {
  30. if (props.dataList[props.dataList.value] !== undefined) {
  31. return selectorObj.find(item => item.value == props.dataList[props.dataList.value]).lable
  32. } else {
  33. return props.dataList.hint ? props.dataList.hint : '请选择' + props.dataList.title
  34. }
  35. })
  36. const bindPickerChange = (e) => {
  37. let select = e.target.value
  38. // #ifdef H5
  39. select = e.detail.value
  40. // #endif
  41. const data = selectorObj.find((item, index) => index === select).value
  42. emit('useCarUserType', data)
  43. }
  44. </script>
  45. <style>
  46. .text{
  47. padding:10rpx;
  48. }
  49. </style>