import { PropType, defineComponent, reactive } from 'vue'; import styles from './index.module.less'; import { InputProps, NButton, NInput } from 'naive-ui'; import icon_search from '/src/common/images/icon_search.svg'; import icon_searchActive from '/src/common/images/icon_searchActive.svg'; export default defineComponent({ name: 'TheSearch', props: { /** 圆角 */ round: { type: Boolean as PropType, default: false } }, emits: ['search'], setup(props, { emit }) { const searchData = reactive({ value: '' }); return () => ( emit('search', searchData.value ? searchData.value.trim() : '') } onKeyup={(e: KeyboardEvent) => { e.stopPropagation(); if (e.code === 'Enter') { emit('search', searchData.value ? searchData.value.trim() : ''); } }}> {{ prefix: () => ( <> ), suffix: () => ( emit('search', searchData.value ? searchData.value.trim() : '') }> 搜索 ) }} ); } });