Vue +Vant 实现顶部搜索栏

搜索栏组件源码(SearchBar.vue)

<template>
  <section class="city-search">
    <van-icon class="search-icon" name="search" />
    <input  placeholder="在此输入检索关键字" v-model="KeyWord">
    <van-icon class="clear-icon" name="clear" v-show="KeyWord" @click="clearSearchInput" />
  </section>
</template>

<script>
export default {
   data() {
        return {
            KeyWord: '',
        }
    },
    methods: {
        clearSearchInput() {
            this.KeyWord = '';
        }
    }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>
    .city-search {
        background-color: #F7F8FA;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        height: 2.3rem;
        width: 94vw;
        margin: 2vw 4vw;
        border-radius: 8px;
    }
    .search-icon {
      margin-left: 5px;
    }
    input {
      margin: 0 1.5vw;
      background-color: #F7F8FA;
      border: 0px;
      font-size: 14px;
      flex: 1
    }
    .clear-icon { color: #999;}
  
</style>

其他组件依赖引用检索组件

首页引用搜索组件:

<template>
  <div>
      <search></search>
        首页
  </div>
</template>

<script>
import Search from '@/components/SearchBar'
export default {
   name: "home",
   components: {
      'search': Search,
    },
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>

</style>

效果截图:

 

 

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Vue.js 和 ElementUI Plus 来实现顶部导航。以下是一个简单的示例代码: ```html <template> <div> <el-header> <el-menu mode="horizontal" :default-active="activeIndex" @select="handleMenuSelect"> <el-menu-item index="1">Home</el-menu-item> <el-submenu index="2"> <template #title> Components </template> <el-menu-item index="2-1">Button</el-menu-item> <el-menu-item index="2-2">Input</el-menu-item> </el-submenu> <el-menu-item index="3">About</el-menu-item> </el-menu> </el-header> <router-view></router-view> </div> </template> <script> export default { data() { return { activeIndex: '1' }; }, methods: { handleMenuSelect(index) { this.activeIndex = index; } } }; </script> ``` 在这个示例中,我们使用了 `<el-header>` 包裹整个顶部导航,在其中使用了 `<el-menu>` 组件来创建导航菜单。通过设置 `mode` 属性为 "horizontal",可以使菜单以水平方向显示。 在 `<el-menu>` 中,我们使用了 `<el-menu-item>` 组件来创建菜单项,使用 `index` 属性来标识每个菜单项的索引。通过设置 `:default-active` 属性来指定默认激活的菜单项。 我们还使用了 `<el-submenu>` 组件来创建一个包含子菜单项的父菜单项。通过使用 `<template>` 标签和 `#title` 来自定义子菜单项的标题。 最后,我们使用了 `<router-view>` 来显示路由对应的组件内容。 以上代码只是一个简单的示例,你可以根据自己的需求进行修改和扩展。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值