vue中实现搜索按钮功能

第一步:给表单添加v-bind:model属性,实现数据的传递

<el-form :inline="true" :model="queryList" class="demo-form-inline">
   <el-form-item label="标签名称">
      <el-input v-model="queryList.tagName"></el-input>
   </el-form-item>
   <el-form-item label="状态" class="state">
      <el-select v-model="queryList.state" placeholder="请选择">
         <el-option
            v-for="item in status"
            :key="item.id"
            :label="item.value"
            :value="item.id"
          >
         </el-option>
       </el-select>
   </el-form-item>
   <el-form-item>
       <el-button @click="hClean">清除</el-button>
       <el-button type="primary" @click="loadtagList">搜索</el-button>
   </el-form-item>
</el-form>

第二步:再绑定的数据中添加 请求数据所需要的参数

// 请求数据的参数
queryList: {
   page: 1,
   pagesize: 10,
   tagName: '',
   state: null
 }

第三步: 给搜索按钮绑定一个点击事件用来获取需要的列表

<el-form-item>
   <el-button @click="hClean">清除</el-button>
   <el-button type="primary" @click="loadtagList">搜索</el-button>
</el-form-item>

第四步:通过绑定的数据作为参数获取列表

created () {
  this.loadtagList()
},
// 封装获取标签列表
async loadtagList () {
  // 调获取标签接口
  const { data: res } = await list(this.queryList)
    console.log('标签列表......', res)
    // 页面渲染
    this.tagList = res.items
    this.total = res.counts
}

输入数据点击搜索之后:

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue实现文件搜索功能,可以分为以下几个步骤: 1. 创建一个表单,包含一个输入框和一个搜索按钮。 ``` <template> <div> <form @submit.prevent="search"> <label for="searchTerm">Search:</label> <input id="searchTerm" v-model="searchTerm" type="text" placeholder="Enter search term"> <button type="submit">Search</button> </form> </div> </template> <script> export default { data() { return { searchTerm: '', }; }, methods: { search() { // TODO: Implement search functionality }, }, }; </script> ``` 2. 定义一个搜索函数,该函数将搜索词作为参数,并通过API或其他方式搜索文件,并将结果存储在一个数组。 ``` export default { data() { return { searchTerm: '', files: [], }; }, methods: { async search() { const response = await fetch(`/api/search?term=${this.searchTerm}`); const data = await response.json(); this.files = data.files; }, }, }; ``` 3. 在模板显示搜索结果。 ``` <template> <div> <form @submit.prevent="search"> <label for="searchTerm">Search:</label> <input id="searchTerm" v-model="searchTerm" type="text" placeholder="Enter search term"> <button type="submit">Search</button> </form> <ul> <li v-for="file in files" :key="file.id"> {{ file.name }} </li> </ul> </div> </template> ``` 在以上代码,我们使用了v-for指令来遍历文件数组,并使用:key属性来指定每个文件的唯一标识符。在模板,我们只显示了文件名,但你可以根据需要显示其他信息。 4. 添加搜索结果的筛选功能。 ``` export default { data() { return { searchTerm: '', files: [], filteredFiles: [], }; }, methods: { async search() { const response = await fetch(`/api/search?term=${this.searchTerm}`); const data = await response.json(); this.files = data.files; this.filteredFiles = data.files; }, filterFiles() { this.filteredFiles = this.files.filter((file) => { return file.name.includes(this.searchTerm); }); }, }, watch: { searchTerm() { this.filterFiles(); }, }, }; ``` 在以上代码,我们添加了一个新的数组filteredFiles,该数组用于存储根据搜索词筛选后的结果。我们还添加了一个filterFiles函数,该函数使用Array.filter方法来筛选文件数组,并将结果存储在filteredFiles数组。 我们还添加了一个watcher来监视searchTerm属性的变化。每当searchTerm变化时,我们调用filterFiles函数来更新filteredFiles数组。 最后,在模板,我们使用filteredFiles数组代替files数组来显示搜索结果。 ``` <template> <div> <form @submit.prevent="search"> <label for="searchTerm">Search:</label> <input id="searchTerm" v-model="searchTerm" type="text" placeholder="Enter search term"> <button type="submit">Search</button> </form> <ul> <li v-for="file in filteredFiles" :key="file.id"> {{ file.name }} </li> </ul> </div> </template> ``` 这样,我们就完成了在Vue实现文件搜索功能的过程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值