现在看Web开发,Vue.js这JavaScript框架太火!操作方便功能又强,好多人都喜欢上它了~Vue.js里的组件和工具非常丰富,web应用随便做。说到这个搜索条件组件,简直是神器!查找东西快如闪电。今天咱们就说说vue文档中的搜索条件组件怎么用,重点说说搜索框组件和条件选择器组件。
搜索框组件:快速搜索的利器
放心,这个搜索框跟Vue文档里那个是一样的!就是用来帮你找到想要的信息的!Vue.js里面简单来说,搜索框就两部分:一个可以输文字的框和一个搜索按钮。把你要找的输入进去,点击搜索就搞定!
export default { data() { return { searchText: '' } }, methods: { handleInput(event) { this.searchText = event.target.value; }, handleSubmit() { this.$emit('search', this.searchText); this.searchText = ''; } } } .search-box { display: flex; justify-content: center; align-items: center; margin: 10px; } input[type="text"] { width: 80%; padding: 5px; margin-right: 10px; }
咱们来玩儿个Vue.js里的搜索框小游戏呗!只要用v-model指令让输入框跟组件的数据勾搭上,你敲键盘,它立马就能知道。还有,这些信息也会悄悄存储在它自己的那儿。等你按下搜索按钮,里面的handleSubmit方法就开始行动起来咯。它用Vue的$emit方法,给爹地(父组件)发个search事件和搜索的关键词,爹地接到后,就能搞定后续的事儿,比如说更新搜出来的网页什么的。
条件选择器组件:智能筛选的得力助手
不只是傻瓜搜寻框Vue里头还有许多隐藏的好用功能,比如说那个筛选物品的快速条件选择器,这可是帮你从成千上万的搜索结果里面迅速找到自己要的那一点儿,不论是你按类别,时间了还是价钱这样子来选。做这个条件选择器其实超级好弄,三两下就能搞定!
export default { props: { options: { type: Array, default() { return []; } }, selectedOptions: { type: Object, default() { return {}; } } }, methods: { handleSelectChange(event) { this.$emit('select', { [event.target.name]: event.target.value }); } } } .selector-box { display: flex; justify-content: center; align-items: center; margin: 10px; } .selector-item { margin-right: 10px; } .selector-item label { margin-right: 5px; }{{ item.label }}
想让条件选择对搜索产生影响吗?那得用上v-model这个指令,简单说就是把选择的内容跟内部的条件数据搞到一块儿去。当咱们在选择框里选东西时,里面的handleSelectChange方法就启动了。而且,它还会发个select事件给父组件,告诉上面的人咱改了哪项条件。接收到信号之后,父组件就能依据新数据更新搜索结果。
搜索条件组件的实现与应用
来学着用Vue搭建个搜索表单页面呗,留心看下search和select这俩按钮,它们能把各种各样的信息传给父组件哦~这样就能根据这些信息做出相应调整了!要学好这个技能,先得理解几个词语和它们的特性。Vue官网讲的selectorOptions、selectedOptions和searchResults就是咱常见要用到的,各自表示筛选器选项、已经挑选过的选项和搜索结果。
最后,咱们得给那个”爸爸”组件里添俩新功能,能处理一下搜索和选择这两件事儿。比如说,用handleSearch处理搜寻这个事儿,让咱们的搜索结果随时都跟着变哩;再说说handleSelect,主要用来应对选择事件,把选上的东西和搜索出来的货色都刷一遍新的。这么一搞儿,咱们就好使得多,搜索条件想换就换,芝麻蒜皮啥的也都能显示出来咯~
import SearchBox from './SearchBox.vue'; import SelectorBox from './SelectorBox.vue'; export default { components: { SearchBox, SelectorBox }, data() { return { selectorOptions: [ { name: 'category', label: 'Category', items: [ { label: 'All', value: '' }, { label: 'Phone', value: 'phone' }, { label: 'Laptop', value: 'laptop' }, { label: 'Tablet', value: 'tablet' } ] }, { name: 'price', label: 'Price', items: [ { label: 'All', value: '' }, { label: '< $500', value: '0-500' }, { label: ' $500-$1000', value: '500-1000' }, { label: ' $1000 item !== '').join(', ')]; } } } .result-box { margin: 10px; } .result-box > div { margin: 5px; padding: 5px; background-color: #efefef; border-radius: 5px; }{{ item }}
实话实说,Vue里的条件组件超好用的说。有它们的话,咱们就可以轻松打造实用的搜索功能。看了这些后你肯定会更明白为啥Vue牛得不行,还能直接在自己的Vue应用上加入这种功能!
评论0