SearchBar.vue 691 B

12345678910111213141516171819202122232425262728293031323334
  1. <template>
  2. <div class="search-bar">
  3. <el-input
  4. v-model="keyword"
  5. placeholder="请输入关键词进行搜索"
  6. size="large"
  7. clearable
  8. @keyup.enter="handleSearch"
  9. >
  10. <template #append>
  11. <el-button :icon="Search" @click="handleSearch">搜索</el-button>
  12. </template>
  13. </el-input>
  14. </div>
  15. </template>
  16. <script setup lang="ts">
  17. import { ref } from 'vue'
  18. import { Search } from '@element-plus/icons-vue'
  19. const keyword = ref('')
  20. const emit = defineEmits<{ search: [keyword: string] }>()
  21. function handleSearch() {
  22. emit('search', keyword.value)
  23. }
  24. </script>
  25. <style scoped>
  26. .search-bar {
  27. max-width: 700px;
  28. margin: 0 auto;
  29. }
  30. </style>