通用vue搜索组件里面的重置和搜索按钮功能实现
<template>
<div class="search-bar">
<input
v-model="searchQuery"
type="text"
placeholder="请输入搜索内容"
@input="handleInput"
/>
<button @click="handleSearch">搜索</button>
<button @click="handleReset">重置</button>
</div>
</template>
<script>
export default {
data() {
return {
searchQuery: '',
};
},
methods: {
handleInput() {
// 处理输入时的逻辑,例如去除空格等
this.searchQuery = this.searchQuery.trim();
// 可以在这里调用父组件的方法来实时更新搜索结果
this.$emit('input', this.searchQuery);
},
handleSearch() {
// 执行搜索操作
this.$emit('search', this.searchQuery);
},
handleReset() {
// 重置搜索框内容并清除结果
this.searchQuery = '';
this.$emit('input', '');
this.$emit('search', '');
},
},
};
</script>
<style scoped>
.search-bar {
display: flex;
align-items: center;
}
.search-bar input {
margin-right: 8px;
padding: 8px;
}
.search-bar button {
margin-right: 8px;
padding: 8px 12px;
}
</style>
这个简单的Vue组件包含了搜索框和两个按钮:一个用于搜索,一个用于重置。在输入框中输入内容时,会触发handleInput
方法,可以在这里添加额外的逻辑,如自动提示、输入时实时搜索等。点击搜索按钮会触发handleSearch
方法,执行实际的搜索操作。点击重置按钮会清空搜索框并可能执行其他重置逻辑,如取消高亮显示、清除搜索结果等。这个组件可以被嵌入到任何需要文本搜索的Vue应用中。
评论已关闭