mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-15 09:48:14 +08:00
🐛 换了一种渲染方式 #32
This commit is contained in:
@@ -7,11 +7,15 @@
|
|||||||
<v-tab value="12">第12层</v-tab>
|
<v-tab value="12">第12层</v-tab>
|
||||||
</v-tabs>
|
</v-tabs>
|
||||||
<v-window v-model="tab" class="hta-tt-window">
|
<v-window v-model="tab" class="hta-tt-window">
|
||||||
<v-window-item :value="tab">
|
<v-window-item
|
||||||
|
v-for="selectItem in select"
|
||||||
|
:key="selectItem.Floor"
|
||||||
|
:value="selectItem.Floor.toString()"
|
||||||
|
>
|
||||||
<div v-if="select" class="hta-tt-flex">
|
<div v-if="select" class="hta-tt-flex">
|
||||||
<div class="hta-tuf-box">
|
<div class="hta-tuf-box">
|
||||||
<div class="hta-tuf-title">上半</div>
|
<div class="hta-tuf-title">上半</div>
|
||||||
<div v-for="items in select.Up" :key="items.Rate" class="hta-tuf-item">
|
<div v-for="items in selectItem.Up" :key="items.Rate" class="hta-tuf-item">
|
||||||
<div class="hta-tuf-item-icons">
|
<div class="hta-tuf-item-icons">
|
||||||
<TibWikiAbyss2
|
<TibWikiAbyss2
|
||||||
v-for="item in items.Item.split(',')"
|
v-for="item in items.Item.split(',')"
|
||||||
@@ -24,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="hta-tuf-box">
|
<div class="hta-tuf-box">
|
||||||
<div class="hta-tuf-title">下半</div>
|
<div class="hta-tuf-title">下半</div>
|
||||||
<div v-for="items in select.Down" :key="items.Rate" class="hta-tuf-item">
|
<div v-for="items in selectItem.Down" :key="items.Rate" class="hta-tuf-item">
|
||||||
<div class="hta-tuf-item-icons">
|
<div class="hta-tuf-item-icons">
|
||||||
<TibWikiAbyss2
|
<TibWikiAbyss2
|
||||||
v-for="item in items.Item.split(',')"
|
v-for="item in items.Item.split(',')"
|
||||||
@@ -42,7 +46,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
// vue
|
// vue
|
||||||
import { onMounted, ref, watch } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
import TibWikiAbyss2 from "../itembox/tib-wiki-abyss-2.vue";
|
import TibWikiAbyss2 from "../itembox/tib-wiki-abyss-2.vue";
|
||||||
|
|
||||||
interface HtaTabTeamProps {
|
interface HtaTabTeamProps {
|
||||||
@@ -53,21 +57,14 @@ const props = defineProps<HtaTabTeamProps>();
|
|||||||
|
|
||||||
// data
|
// data
|
||||||
const tab = ref<string>("9");
|
const tab = ref<string>("9");
|
||||||
const select = ref<TGApp.Plugins.Hutao.Abyss.TeamCombination>();
|
const select = ref<TGApp.Plugins.Hutao.Abyss.TeamCombination[]>([]);
|
||||||
|
|
||||||
function loadData(): void {
|
|
||||||
select.value = props.modelValue.filter((item) => item.Floor.toString() === tab.value)?.[0];
|
|
||||||
select.value?.Up.sort((a, b) => b.Rate - a.Rate);
|
|
||||||
select.value?.Down.sort((a, b) => b.Rate - a.Rate);
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
loadData();
|
props.modelValue.forEach((item) => {
|
||||||
});
|
item.Up.sort((a, b) => b.Rate - a.Rate);
|
||||||
|
item.Down.sort((a, b) => b.Rate - a.Rate);
|
||||||
// 监听 tab 变化
|
select.value.push(item);
|
||||||
watch(tab, () => {
|
});
|
||||||
loadData();
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
@@ -82,7 +79,7 @@ watch(tab, () => {
|
|||||||
.hta-tt-tab {
|
.hta-tt-tab {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
color: var(--common-text-content);
|
color: var(--common-text-title);
|
||||||
font-family: var(--font-text);
|
font-family: var(--font-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,6 +89,7 @@ watch(tab, () => {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
max-height: calc(100vh - 130px);
|
max-height: calc(100vh - 130px);
|
||||||
margin-left: 100px;
|
margin-left: 100px;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hta-tt-flex {
|
.hta-tt-flex {
|
||||||
|
|||||||
@@ -7,9 +7,13 @@
|
|||||||
<v-tab value="12">第12层</v-tab>
|
<v-tab value="12">第12层</v-tab>
|
||||||
</v-tabs>
|
</v-tabs>
|
||||||
<v-window v-model="tab" class="hta-tu-window">
|
<v-window v-model="tab" class="hta-tu-window">
|
||||||
<v-window-item :value="tab">
|
<v-window-item
|
||||||
<div v-if="select" class="hta-tu-grid">
|
v-for="selectItem in select"
|
||||||
<TibWikiAbyss v-for="item in select.Ranks" :key="item.Item" :model-value="item" />
|
:key="selectItem.Floor"
|
||||||
|
:value="selectItem.Floor.toString()"
|
||||||
|
>
|
||||||
|
<div class="hta-tu-grid">
|
||||||
|
<TibWikiAbyss v-for="item in selectItem.Ranks" :key="item.Item" :model-value="item" />
|
||||||
</div>
|
</div>
|
||||||
</v-window-item>
|
</v-window-item>
|
||||||
</v-window>
|
</v-window>
|
||||||
@@ -17,31 +21,24 @@
|
|||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
// vue
|
// vue
|
||||||
import { onMounted, ref, watch } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
import TibWikiAbyss from "../itembox/tib-wiki-abyss.vue";
|
import TibWikiAbyss from "../itembox/tib-wiki-abyss.vue";
|
||||||
|
|
||||||
interface HtaTabUseProps {
|
interface HtaTabUseProps {
|
||||||
modelValue: TGApp.Plugins.Hutao.Abyss.AvatarUse[];
|
modelValue: TGApp.Plugins.Hutao.Abyss.AvatarUp[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = defineProps<HtaTabUseProps>();
|
const props = defineProps<HtaTabUseProps>();
|
||||||
|
|
||||||
// data
|
// data
|
||||||
const tab = ref<string>("9");
|
const tab = ref<string>("9");
|
||||||
const select = ref<TGApp.Plugins.Hutao.Abyss.AvatarUse>();
|
const select = ref<TGApp.Plugins.Hutao.Abyss.AvatarUp[]>([]);
|
||||||
|
|
||||||
function loadData(): void {
|
|
||||||
select.value = props.modelValue.filter((item) => item.Floor.toString() === tab.value)?.[0];
|
|
||||||
select.value?.Ranks.sort((a, b) => b.Rate - a.Rate);
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
loadData();
|
props.modelValue.forEach((item) => {
|
||||||
});
|
item.Ranks.sort((a, b) => b.Rate - a.Rate);
|
||||||
|
select.value.push(item);
|
||||||
// 监听 tab 变化
|
});
|
||||||
watch(tab, () => {
|
|
||||||
loadData();
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
|
|||||||
@@ -7,9 +7,13 @@
|
|||||||
<v-tab value="12">第12层</v-tab>
|
<v-tab value="12">第12层</v-tab>
|
||||||
</v-tabs>
|
</v-tabs>
|
||||||
<v-window v-model="tab" class="hta-tu-window">
|
<v-window v-model="tab" class="hta-tu-window">
|
||||||
<v-window-item :value="tab">
|
<v-window-item
|
||||||
<div v-if="select" class="hta-tu-grid">
|
v-for="selectItem in select"
|
||||||
<TibWikiAbyss v-for="item in select.Ranks" :key="item.Item" :model-value="item" />
|
:key="selectItem.Floor"
|
||||||
|
:value="selectItem.Floor.toString()"
|
||||||
|
>
|
||||||
|
<div class="hta-tu-grid">
|
||||||
|
<TibWikiAbyss v-for="item in selectItem.Ranks" :key="item.Item" :model-value="item" />
|
||||||
</div>
|
</div>
|
||||||
</v-window-item>
|
</v-window-item>
|
||||||
</v-window>
|
</v-window>
|
||||||
@@ -17,7 +21,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
// vue
|
// vue
|
||||||
import { onMounted, ref, watch } from "vue";
|
import { onMounted, ref } from "vue";
|
||||||
import TibWikiAbyss from "../itembox/tib-wiki-abyss.vue";
|
import TibWikiAbyss from "../itembox/tib-wiki-abyss.vue";
|
||||||
|
|
||||||
interface HtaTabUseProps {
|
interface HtaTabUseProps {
|
||||||
@@ -28,20 +32,13 @@ const props = defineProps<HtaTabUseProps>();
|
|||||||
|
|
||||||
// data
|
// data
|
||||||
const tab = ref<string>("9");
|
const tab = ref<string>("9");
|
||||||
const select = ref<TGApp.Plugins.Hutao.Abyss.AvatarUse>();
|
const select = ref<TGApp.Plugins.Hutao.Abyss.AvatarUse[]>([]);
|
||||||
|
|
||||||
function loadData(): void {
|
|
||||||
select.value = props.modelValue.filter((item) => item.Floor.toString() === tab.value)?.[0];
|
|
||||||
select.value?.Ranks.sort((a, b) => b.Rate - a.Rate);
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
loadData();
|
props.modelValue.forEach((item) => {
|
||||||
});
|
item.Ranks.sort((a, b) => b.Rate - a.Rate);
|
||||||
|
select.value.push(item);
|
||||||
// 监听 tab 变化
|
});
|
||||||
watch(tab, () => {
|
|
||||||
loadData();
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="css" scoped>
|
<style lang="css" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user