feat: 新增种类数量识别

This commit is contained in:
MTrun 2022-01-14 22:18:47 +08:00
parent c4953e7afd
commit 6850dd467d
2 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,7 @@
<template> <template>
<div class="go-chart-common"> <div class="go-chart-common">
<n-menu <n-menu
v-show="packages.categorysNum > 1"
class="chart-menu-width" class="chart-menu-width"
v-model:value="selectValue" v-model:value="selectValue"
:options="packages.menuOptions" :options="packages.menuOptions"
@ -35,6 +36,8 @@ let packages = reactive<{
selectOptions: {}, selectOptions: {},
// //
categorys: {}, categorys: {},
//
categorysNum: 0,
// //
saveSelectOptions: {} saveSelectOptions: {}
}) })
@ -53,6 +56,7 @@ watch(
// @ts-ignore // @ts-ignore
() => props.selectOptions, () => props.selectOptions,
(newData: { list: ConfigType[] }) => { (newData: { list: ConfigType[] }) => {
packages.categorysNum = 0
if (!newData) return if (!newData) return
newData.list.forEach((e: ConfigType) => { newData.list.forEach((e: ConfigType) => {
const value: ConfigType[] = (packages.categorys as any)[e.category] const value: ConfigType[] = (packages.categorys as any)[e.category]
@ -61,6 +65,7 @@ watch(
value && value.length ? [...value, e] : [e] value && value.length ? [...value, e] : [e]
}) })
for (const val in packages.categorys) { for (const val in packages.categorys) {
packages.categorysNum += 1
packages.menuOptions.push({ packages.menuOptions.push({
key: val, key: val,
label: val label: val
@ -79,7 +84,6 @@ watch(
const clickItemHandle = (key: string) => { const clickItemHandle = (key: string) => {
packages.selectOptions = packages.categorys[key] packages.selectOptions = packages.categorys[key]
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -30,7 +30,11 @@
:repeat="2" :repeat="2"
style="width: 90%;" style="width: 90%;"
/> />
<OptionContent v-if="selectOptions" :selectOptions="selectOptions" :key="selectValue" /> <OptionContent
v-if="selectOptions"
:selectOptions="selectOptions"
:key="selectValue"
/>
</div> </div>
</div> </div>
</aside> </aside>