refactor: 抽离WxMpSelect组件
This commit is contained in:
parent
a5cb7a50ab
commit
c7b296a8e5
39
src/views/mp/components/WxMpSelect.vue
Normal file
39
src/views/mp/components/WxMpSelect.vue
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<template>
|
||||||
|
<el-select
|
||||||
|
v-model="accountId"
|
||||||
|
placeholder="请选择公众号"
|
||||||
|
class="!w-240px"
|
||||||
|
@change="accountChanged"
|
||||||
|
>
|
||||||
|
<el-option v-for="item in accountList" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup name="WxMpSelect">
|
||||||
|
import * as MpAccountApi from '@/api/mp/account'
|
||||||
|
|
||||||
|
const accountId: Ref<number | undefined> = ref()
|
||||||
|
const accountList: Ref<MpAccountApi.AccountVO[]> = ref([])
|
||||||
|
|
||||||
|
const emit = defineEmits<{
|
||||||
|
(e: 'change', id: number | undefined): void
|
||||||
|
}>()
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
handleQuery()
|
||||||
|
})
|
||||||
|
|
||||||
|
const handleQuery = async () => {
|
||||||
|
const data = await MpAccountApi.getSimpleAccountList()
|
||||||
|
accountList.value = data
|
||||||
|
// 默认选中第一个
|
||||||
|
if (accountList.value.length > 0) {
|
||||||
|
accountId.value = accountList.value[0].id
|
||||||
|
emit('change', accountId.value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const accountChanged = () => {
|
||||||
|
emit('change', accountId.value)
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user