perf(TableList): 优化列表项数据格式化处理

- 增加对 valueFormatter 函数类型的判断,提高数据格式化处理的灵活性和安全性
- 优化数据排序逻辑,提高列表项数据的准确性和可靠性
- 修复部分变量命名和赋值问题,提升代码质量和可维护性
This commit is contained in:
QuietlyChan 2025-02-12 16:56:56 +08:00
parent 3b5e0fcdeb
commit 8bfeca26c7

View File

@ -10,7 +10,11 @@
<div class="rank" :style="`color: ${color};font-size: ${indexFontSize}px`">No.{{ item.ranking }}</div> <div class="rank" :style="`color: ${color};font-size: ${indexFontSize}px`">No.{{ item.ranking }}</div>
<div class="info-name" :style="`font-size: ${leftFontSize}px`" v-html="item.name" /> <div class="info-name" :style="`font-size: ${leftFontSize}px`" v-html="item.name" />
<div class="ranking-value" :style="`color: ${textColor};font-size: ${rightFontSize}px`"> <div class="ranking-value" :style="`color: ${textColor};font-size: ${rightFontSize}px`">
{{ status.mergedConfig.valueFormatter ? status.mergedConfig.valueFormatter(item) : item.value }} {{
typeof status.mergedConfig.valueFormatter === 'function'
? status.mergedConfig.valueFormatter(item)
: item.value
}}
{{ unit }} {{ unit }}
</div> </div>
</div> </div>
@ -62,7 +66,8 @@ const status = reactive({
const calcRowsData = () => { const calcRowsData = () => {
let { dataset, rowNum, sort } = status.mergedConfig let { dataset, rowNum, sort } = status.mergedConfig
// @ts-ignore // @ts-ignore
sort &&dataset.sort(({ value: a }, { value: b } ) => { sort &&
dataset.sort(({ value: a }, { value: b }) => {
if (a > b) return -1 if (a > b) return -1
if (a < b) return 1 if (a < b) return 1
if (a === b) return 0 if (a === b) return 0
@ -137,7 +142,7 @@ const onRestart = async () => {
calcRowsData() calcRowsData()
let flag = true let flag = true
if (dataset.length <= rowNum) { if (dataset.length <= rowNum) {
flag=false flag = false
} }
calcHeights(flag) calcHeights(flag)
animation(flag) animation(flag)