emis-app/components/tpx-select/default-select-input.vue
2023-12-19 00:30:33 +08:00

83 lines
1.2 KiB
Vue

<template>
<view :class="contClass" style="margin-top: 0;">
<u-row>
<view style="flex: 1;">
<u-text :text="leftText" size="28"></u-text>
</view>
<u-row>
<u-icon size="22" :name="`${show?'arrow-up':'arrow-down'}`" color="#333"></u-icon>
</u-row>
</u-row>
</view>
</template>
<script>
export default {
computed: {
leftText() {
let str = ''
if (this.value) {
const curItem = this.list.filter(item => item.val == this.value)[0] || {}
curItem.title && (str = curItem.title)
} else {
str = this.placeholder
}
return str
},
contClass() {
let pre = ['radius-20']
if (this.isWhite) {
pre.push('blcok-white')
} else {
pre.push('blcok-grey')
}
return pre.join(" ")
}
},
props: {
isWhite: {
default () {
return false
}
},
placeholder: {
default () {
return ''
}
},
show: {
default () {
return false
}
},
value: {
default () {
return ''
}
},
list: {
default () {
return []
}
}
},
data() {
return {
}
},
created() {
},
onHide() {
},
destroyed() {},
methods: {}
}
</script>
<style scoped lang="scss">
</style>