59 lines
1.1 KiB
Vue
Raw Normal View History

2024-04-28 10:10:03 +08:00
<template>
<uni-easyinput :inputBorder="false" class="w-form-input" v-if="!readonly" v-model="_value"
:prefixIcon="formProps.enableScan ? 'scan':null" @iconClick="scanCode"
2024-11-25 13:57:24 +08:00
:placeholder="formProps.placeholder || '请输入内容'" @blur="onBlur" />
2024-04-28 10:10:03 +08:00
<text class="w-form-input-rv" v-else>{{_value}}</text>
</template>
<script setup>
import { computed } from 'vue'
const props = defineProps({
formProps: {
type: Object,
default: () => {
return {}
}
},
modelValue: String,
2024-11-25 13:57:24 +08:00
readonly: Boolean,
cid: String
2024-04-28 10:10:03 +08:00
})
const _value = computed({
get() {
return props.modelValue
},
set(val) {
emits('update:modelValue', val)
}
})
const emits = defineEmits(['update:modelValue'])
2024-11-25 13:57:24 +08:00
const onBlur = () => {
emits('myblur', {
value: _value.value,
cid: props.cid,
})
}
2024-04-28 10:10:03 +08:00
function scanCode() {
uni.scanCode({
success: (res) => {
console.log(res.result)
_value.value = res.result
},
fail: (err) => {
console.log(err)
uni.showToast({
icon: 'none',
title: '扫码异常'
})
}
})
}
</script>
<style>
</style>