Lulus nilai yang dipilih: gunakan kaedah pelaksanaan vuex dalam kaedah
P粉218775965
2023-08-20 22:01:35
<p>Saya cuba menghantar nilai pilihan saya dalam kaedah FilterStatus menggunakan Vuex tetapi ia tidak menghantar nilai pilihan pilihan kepada kaedah tersebut. </p>
<p>Ini ialah FilterStatus.vue komponen saya, saya menggunakan model v untuk menyimpan nilai pilihan dan menggunakan useStore untuk lulus status</p>
<pre class="brush:php;toolbar:false;"><template>
<div class="filter">
<pilih v-model="filter">
<nilai pilihan="">Semua</option>
<nilai pilihan="Alive">Alive</option>
<nilai pilihan="Mati">Kematian</option>
<nilai pilihan="tidak diketahui">Tidak diketahui</option>
</select>
</div>
</template>
<skrip>
import { useStore } daripada 'vuex'
eksport lalai {
persediaan() {
kedai const = useStore()
penapis const = ((status) => {
store.dispatch('status penapis', status)
})
kembali {
penapis
}
}
}
</skrip>
<gaya>
</style></pre>
<p>Dalam bahagian ini, saya menggunakan Vuex dan dalam tindakan saya mempunyai kaedah penapisStatus saya</p>
<pre class="brush:php;toolbar:false;">import { createStore } daripada 'vuex'
eksport createStore lalai({
nyatakan: {
watak: [],
charactersFilter: []
},
mutasi: {
setCharacters(negeri, muatan) {
negeri.karakter = muatan
},
setCharactersFilter(negeri, muatan) {
state.charactersFilter = muatan
}
},
tindakan: {
async getCharacters( {commit} ) {
cuba {
const res = tunggu ambil('https://rickandmortyapi.com/api/character')
data const = menunggu res.json()
commit('setCharacters', data.results)
commit('setCharactersFilter', data.results)
} tangkap (ralat) {
console.log(error)
}
},
filterStatus({commit, state}, status) {
penapis const = state.characters.filter( (character) => {
kembalikan character.status.includes(status)
})
commit('setCharactersFilter', penapis)
}
},
modul: {
}
})</pre>
<p>Terima kasih banyak atas bantuan anda</p>
v-model harus diberikan pembolehubah data, bukan fungsi. Dalam Vue 3, anda juga harus mengisytiharkan pembolehubah ini menggunakan
ref
或reactive
untuk mencipta keadaan reaktif, contohnya:Kini, apabila menetapkannya sebagai model v pemilih,
filter
将保存所选选项的值。然后,你需要做的第二件事是使用“on change”事件监听器响应选择的变化,这样每次filter
apabila dikemas kini, anda boleh memasukkannya ke kedai vuex anda.