fix: 경매장 갱신 버튼

This commit is contained in:
2022-06-10 00:43:47 +09:00
parent e5ba980865
commit a19da6cda5
3 changed files with 39 additions and 14 deletions
+20 -10
View File
@@ -4,8 +4,8 @@
<BButton @click="isResAuction = true">/</BButton> <BButton @click="isResAuction = true">/</BButton>
<BButton @click="isResAuction = false">유니크</BButton> <BButton @click="isResAuction = false">유니크</BButton>
</TopBackBar> </TopBackBar>
<AuctionResource v-if="isResAuction"></AuctionResource> <AuctionResource v-if="isResAuction" ref="auctionResource"></AuctionResource>
<AuctionUniqueItem v-else></AuctionUniqueItem> <AuctionUniqueItem v-else ref="auctionUniqueItem"></AuctionUniqueItem>
<BottomBar type="close"></BottomBar> <BottomBar type="close"></BottomBar>
</BContainer> </BContainer>
</template> </template>
@@ -22,18 +22,28 @@ import TopBackBar from "@/components/TopBackBar.vue";
import BottomBar from "./components/BottomBar.vue"; import BottomBar from "./components/BottomBar.vue";
import AuctionResource from "@/components/AuctionResource.vue"; import AuctionResource from "@/components/AuctionResource.vue";
import AuctionUniqueItem from "@/components/AuctionUniqueItem.vue"; import AuctionUniqueItem from "@/components/AuctionUniqueItem.vue";
import { toRef } from "vue"; import { ref, toRef } from "vue";
const props = defineProps({ const props = defineProps({
isResAuction: { isResAuction: {
type: Boolean, type: Boolean,
default: true, default: true,
}, },
}); });
const isResAuction = toRef(props, 'isResAuction'); const auctionResource = ref<InstanceType<typeof AuctionResource> | null>(null);
const auctionUniqueItem = ref<InstanceType<typeof AuctionUniqueItem> | null>(null);
function tryReload() { const isResAuction = toRef(props, "isResAuction");
console.log('갱신');
async function tryReload() {
console.log(auctionResource.value);
console.log(auctionUniqueItem.value);
if(isResAuction.value && auctionResource.value){
await auctionResource.value.refresh();
}
if(!isResAuction.value && auctionUniqueItem.value){
await auctionUniqueItem.value.refresh();
}
} }
</script> </script>
+4
View File
@@ -282,6 +282,10 @@ async function openAuction() {
} }
} }
defineExpose({
refresh,
})
onMounted(async () => { onMounted(async () => {
void refresh(); void refresh();
console.log("mounted"); console.log("mounted");
+15 -4
View File
@@ -100,7 +100,7 @@ const obfuscatedName = ref("");
const toasts = unwrap(useToast()); const toasts = unwrap(useToast());
async function refresh() { async function refreshList() {
try { try {
const result = await SammoAPI.Auction.GetUniqueItemAuctionList(); const result = await SammoAPI.Auction.GetUniqueItemAuctionList();
obfuscatedName.value = result.obfuscatedName; obfuscatedName.value = result.obfuscatedName;
@@ -135,8 +135,7 @@ async function bidAuction() {
title: "성공", title: "성공",
body: "입찰이 완료되었습니다.", body: "입찰이 완료되었습니다.",
}); });
void refreshDetail(); await refresh();
void refresh();
} catch (e) { } catch (e) {
console.error(e); console.error(e);
if (isString(e)) { if (isString(e)) {
@@ -149,7 +148,19 @@ async function bidAuction() {
} }
} }
async function refresh(){
const waiters = [
refreshList(),
refreshDetail(),
];
await Promise.all(waiters);
}
defineExpose({
refresh
})
onMounted(() => { onMounted(() => {
void refresh(); void refreshList();
}); });
</script> </script>