要在搜索完毕后点击分页的下一页仍保持搜索状态,可以使用组合式 API 和 Vue Router 实现。

首先,在组合式 API 中,使用 ref 定义一个搜索关键字的变量,并在搜索框中绑定该变量,当搜索框的值改变时,搜索关键字也会更新。

import { ref } from 'vue';

export default {
  setup() {
    const searchKeyword = ref('');

    const handleSearch = () => {
      // 处理搜索逻辑,发送请求等
      // 使用 searchKeyword.value 获取搜索关键字
    }

    return {
      searchKeyword,
      handleSearch,
    }
  }
}

然后,在点击分页的下一页时,将搜索关键字作为参数传递给下一页的路由,并在下一页的组件中获取该参数。

// 在当前页的组件中
import { useRouter } from 'vue-router';

export default {
  setup() {
    const router = useRouter();

    const handleNextPage = () => {
      router.push({
        name: 'NextPage', // 下一页的路由名称
        params: {
          searchKeyword: searchKeyword.value, // 将搜索关键字作为参数传递给下一页
        },
      });
    }

    return {
      handleNextPage,
    }
  }
}

在下一页的组件中,使用 props 接收搜索关键字参数,并在组件初始化时将搜索关键字设置为初始值。

import { ref, onMounted } from 'vue';

export default {
  props: {
    searchKeyword: {
      type: String,
      required: true,
    },
  },
  setup(props) {
    const searchKeyword = ref('');

    onMounted(() => {
      searchKeyword.value = props.searchKeyword; // 设置搜索关键字为传递的参数值
      // 处理分页逻辑,发送请求等,使用 searchKeyword.value 获取搜索关键字
    });

    return {
      searchKeyword,
    }
  }
}

这样,无论在搜索页还是在下一页,都可以保持搜索状态

vue3+js+elementplus+组合式api 且用axios前后端交互 搜索完后点击分页的下一页怎么依然保持搜索状态

原文地址: https://www.cveoy.top/t/topic/iT1l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录