¶Ô±ÈÐÂÎļþ |
| | |
| | | import { defineComponent, SetupContext, ref, computed } from 'vue' |
| | | import styles from './BaseInput.module.scss' |
| | | |
| | | export default defineComponent({ |
| | | name: 'BaseInput', |
| | | emits: ['update:modelValue', 'click'], |
| | | props: { |
| | | modelValue: { |
| | | type: [String, Number], |
| | | default: '', |
| | | }, |
| | | placeholder: { |
| | | type: String, |
| | | default: '请è¾å
¥', |
| | | }, |
| | | }, |
| | | setup(props, { attrs, slots, emit }: SetupContext) { |
| | | const input = computed({ |
| | | get() { |
| | | return props.modelValue |
| | | }, |
| | | set(val) { |
| | | emit('update:modelValue', val) |
| | | }, |
| | | }) |
| | | const onClick = (evt: Event) => { |
| | | evt?.stopPropagation() |
| | | emit('click', evt) |
| | | } |
| | | return () => { |
| | | return ( |
| | | <div class={styles.baseInput} onClick={onClick}> |
| | | <input |
| | | placeholder={props.placeholder} |
| | | class={{ |
| | | [styles.input]: true, |
| | | [styles.hover]: true, |
| | | }} |
| | | v-model={input.value} |
| | | /> |
| | | {/* <span class={styles.hasHover}> |
| | | {input.value ? ( |
| | | input.value |
| | | ) : ( |
| | | <span style="color:#929AB1;padding-right:200px"> |
| | | {props.placeholder} |
| | | </span> |
| | | )} |
| | | </span> */} |
| | | </div> |
| | | ) |
| | | } |
| | | }, |
| | | }) |