将Search的语法糖进行修改。

This commit is contained in:
checkwoodson 2023-03-05 12:03:45 +08:00
parent d4d94ddbee
commit a8bb11fa66

View File

@ -12,8 +12,8 @@
</div> </div>
</template> </template>
<script> <script setup>
import { useRoute, useRouter } from '@common/utils/vueRouter' import { onBeforeRouteUpdate, useRoute, useRouter } from '@common/utils/vueRouter'
import { searchText } from '@renderer/store/search/state' import { searchText } from '@renderer/store/search/state'
import { getSearchSetting, setSearchSetting } from '@renderer/utils/data' import { getSearchSetting, setSearchSetting } from '@renderer/utils/data'
import { sources as _sources } from '@renderer/store/search/music' import { sources as _sources } from '@renderer/store/search/music'
@ -57,70 +57,46 @@ const verifyQueryParams = async(to, from, next) => {
setSearchSetting({ source: _source, type: _type }) setSearchSetting({ source: _source, type: _type })
} }
export default { const route = useRoute()
components: { const router = useRouter()
MusicList, router.beforeEach((to, from, next) => verifyQueryParams(to, from, next))
SongListList, onBeforeRouteUpdate((to, from, next) => verifyQueryParams(to, from, next))
BlankView, const sources = _sources.map(id => {
}, return {
beforeRouteEnter: verifyQueryParams, id,
beforeRouteUpdate: verifyQueryParams, label: sourceNames.value[id],
setup() { }
const route = useRoute() })
const router = useRouter() const handleSourceChange = (id) => {
router.replace({
const sources = _sources.map(id => { path: route.path,
return { query: {
id, ...route.query,
label: sourceNames.value[id], source: id,
} page: 1,
}) },
const handleSourceChange = (id) => { })
router.replace({
path: route.path,
query: {
...route.query,
source: id,
page: 1,
},
})
}
const searchTypes = computed(() => {
return [
{ label: window.i18n.t('search__type_music'), id: 'music' },
{ label: window.i18n.t('search__type_songlist'), id: 'songlist' },
]
})
const handleTypeChange = (type) => {
router.replace({
path: route.path,
query: {
...route.query,
type,
page: 1,
},
})
}
return {
sources,
source,
handleSourceChange,
searchTypes,
searchType,
handleTypeChange,
page,
searchText,
}
},
} }
const searchTypes = computed(() => {
return [
{ label: window.i18n.t('search__type_music'), id: 'music' },
{ label: window.i18n.t('search__type_songlist'), id: 'songlist' },
]
})
const handleTypeChange = (type) => {
router.replace({
path: route.path,
query: {
...route.query,
type,
page: 1,
},
})
}
</script> </script>
<style lang="less" module> <style lang="less" module scoped>
.container { .container {
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;