VUE 实现后台管理的搜索功能

        <!-- el-form :inlin 一行显示 -->
        <el-form :inline="true" :model="formSearch" ref="formInline">
          <el-row>
            <el-col :span="6">
              <el-form-item label="关键字">
                <el-input
                  v-model="formSearch.keyword"
                  placeholder="根据文章标题搜索"
                ></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="状态">
                <el-select v-model="formSearch.state" placeholder="请选择">
                  <el-option
                    v-for="item in baseApistatus"
                    :key="item.id"
                    :label="item.value"
                    :value="+item.id"
                  ></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item>
                <el-button @click.native="clearFrom">清除</el-button>
                <el-button type="primary" @click="onSubmit">查询</el-button>
              </el-form-item>
            </el-col>
            <!-- offset 列偏移 -->
            <el-col :span="2" :offset="5">
              <el-button type="success" icon="el-icon-edit" @click="addArticles"
                >新增技巧</el-button
              >
            </el-col>
          </el-row>
        </el-form>

      

 部分代码

 data () {
    return {
      disabled: true,
      formSearch: {
        keyword: '', // 关键字
        stateL: '', // 状态
        page: 1, // 当前页
        pagesize: 5 // 每页条数
      }, 
    },
    methods: {
    // 搜索
    async onSubmit () {
      // console.log()
      this.formSearch.page = 1
      this.getArticleList(this.formSearch) // 获取文章列表
    },

    // 格式化表单数据
    clearFrom () {
      this.formSearch = {
        keyword: '', // 关键字
        stateL: '', // 状态
        page: 1, // 当前页
        pagesize: 5 // 每页条数
      }
      this.getArticleList() // 重新获取文章列表
      // this.$refs.formInline.resetFields()
    },  

    // 获取列表
    async getArticleList () {
      // console.log(this.formSearch)
      // this.loading = true
      const { data: res } = await reqList(this.formSearch) // 获取文章列表
      console.log(res)
      this.articleList = res.items // 文章渲染
      this.total = res.counts // 总条数
      this.loading = false
    },
    // 2.每页条数显示改变时
    handleSizeChange (newSize) {
      this.formSearch.pagesize = newSize // 赋值给表单绑定的页码条数
      this.formSearch.page = 1 // 然后去第一页
      this.getArticleList() // 获取文章列表
    },
    // 3.页码值改变时
    handleCurrentChange (newPage) {
      this.formSearch.page = newPage // 赋值给表单绑定的页码
      this.getArticleList() // 获取文章列表
    },
    // 4.序号处理
    indexMethod (index) {
      // index是从零开始
      return index + 1 + (this.formSearch.page - 1) * this.formSearch.pagesize
    },
    
} 

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3中实现搜索功能的方法有多种,以下是一种常见的实现方式: 1. 创建一个输入框和一个按钮,用于用户输入搜索关键字和触发搜索操作。 ```html <template> <div> <input type="text" v-model="keyword" placeholder="请输入关键字"> <button @click="search">搜索</button> </div> </template> ``` 2. 在Vue组件的data选项中定义一个变量`keyword`,用于保存用户输入的关键字。 ```javascript export default { data() { return { keyword: '', // 其他数据... } }, // 其他方法... } ``` 3. 在methods选项中定义一个`search`方法,用于处理搜索逻辑。 ```javascript export default { // 其他代码... methods: { search() { // 发起搜索请求或处理搜索逻辑 // 根据关键字进行过滤或发送网络请求等等 // 将搜索结果保存在组件的数据中,供展示使用 }, // 其他方法... } } ``` 4. 在搜索结果展示的地方,使用Vue的指令或计算属性来展示符合搜索条件的数据。 ```html <template> <div> <!-- 根据搜索结果展示数据 --> <ul> <li v-for="item in searchResults" :key="item.id">{{ item.name }}</li> </ul> </div> </template> ``` 5. 在Vue组件的计算属性中定义一个`searchResults`,用于返回符合搜索条件的数据。 ```javascript export default { // 其他代码... computed: { searchResults() { // 根据关键字过滤数据或者根据接口返回的数据进行处理 // 返回符合搜索条件的数据 }, // 其他计算属性... } } ``` 以上是一个简单的搜索功能实现的示例,你可以根据具体需求进行相应的调整和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值