You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

53 lines
1.0 KiB

  1. <template>
  2. <view :class="className" :style="style" class="cu-form-group">
  3. <view class="title">
  4. <text v-if="required" class="lr-required">*</text>
  5. {{ title }}
  6. </view>
  7. <picker
  8. @change="change"
  9. :customitem="customitem"
  10. :value="value"
  11. :disabled="disabled"
  12. :class="[arrow ? 'picker-arrow' : '']"
  13. mode="region"
  14. >
  15. <view class="picker">{{ display || placeholder }}</view>
  16. </picker>
  17. </view>
  18. </template>
  19. <script>
  20. export default {
  21. name: 'l-region-picker',
  22. props: {
  23. title: {},
  24. disabled: {},
  25. required: {},
  26. placeholder: { default: '请选择地区…' },
  27. multiple: {},
  28. customitem: {},
  29. arrow: { default: true },
  30. value: {}
  31. },
  32. methods: {
  33. change(e) {
  34. this.$emit('change', e.detail.value)
  35. this.$emit('input', e.detail.value)
  36. }
  37. },
  38. computed: {
  39. display() {
  40. if (!this.value || !this.value.length) {
  41. return this.placeholder
  42. }
  43. return this.value.join(' ')
  44. }
  45. }
  46. }
  47. </script>