1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <template>
- <picker color="uni-picker-container" :disabled="dataList.disabled" range-key="lable" mode="selector"
- @change="bindPickerChange($event)" :range="selectorObj">
- <view class="text" :class='{isText: !dataList[dataList.value]} && handleTxt[0]!=="请"'>
- {{handleTxt}}
- </view>
- </picker>
- </template>
-
- <script setup lang='ts'>
- import {
- computed,
- ref
- } from 'vue'
-
- const selectorObj = [{
- 'lable': '普通车',
- 'value': 0
- }, {
- 'lable': '仅有"货物专用运输(集装箱)"的牵引车办理JL类型集装箱',
- 'value': 24
- }, {
- 'lable': '不含"货物专用运输(集装箱)"的牵引车',
- 'value': 27
- }, {
- 'lable': '除“货物专用运输 (集装箱)"外,还有"普通货运"等其他项目的牵引车',
- 'value': 28
- }]
- const props = defineProps(['dataList'])
- const emit = defineEmits(['useCarUserType'])
- const handleTxt = computed(() => {
- if (props.dataList[props.dataList.value] !== undefined) {
- return selectorObj.find(item => item.value == props.dataList[props.dataList.value])?.lable
- } else {
- return props.dataList.hint ? props.dataList.hint : '请选择' + props.dataList.title
- }
- })
- const bindPickerChange = (e) => {
- let select = e.target.value
- // #ifdef H5
- select = e.detail.value
- // #endif
- const data = selectorObj.find((item, index) => index === select).value
- emit('useCarUserType', data)
- }
- </script>
-
- <style>
- .text {
- padding: 10rpx;
- }
-
- .text.isText {
- color: #a8a8a8;
- }
- </style>
|