vue.js 如何使用URL查询参数的值初始化输入字段?

z9ju0rcb  于 2023-06-06  发布在  Vue.js
关注(0)|答案(1)|浏览(186)

这是我的测试代码,我使用Vite && Vue Router 4.x

<template>
        <div>
            <label>測試</label><br>
            <input v-model="testInput" />
            <button @click="search">查詢</button>
        </div>
        <div>
            {{ testInput }}
        </div>
    </template>
    
    <script setup>
     import { ref, onMounted } from 'vue'
     import { useRouter, useRoute } from 'vue-router';
     const testInput = ref();
     const router = useRouter()
     const route = useRoute();
    
     console.log(route.query);
    
     
     onMounted(() => {
       testInput.value = route.query.testInput || '';
     });
    
     function search() {
        router.push({ name: 'Test', query: { testInput: testInput.value } });
     }
    
    </script>

在我的代码中,为什么查询值没有自动填充到路由器中?这是我的URL

http://localhost/#/?testInput=aaaa
0yg35tkg

0yg35tkg1#

因为它找不到name:'Test'。如果你的路由像这样http://localhost/#/Test?testInput=aaaa应该可以工作,或者你可以使用它没有路由名称
router.push({ query: { testInput: testInput.value }, replace: true });

相关问题