Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(Table): 修复多列Fixed时宽度计算问题 #340

Merged
merged 1 commit into from
Jul 7, 2023
Merged

Conversation

wanchun
Copy link
Collaborator

@wanchun wanchun commented Jul 7, 2023

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Docs
  • Build-related changes
  • Other, please describe:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing applications:

Related issue (if exists):

Other information:

const rightColumns = columns.slice(columnIndex + 1);
const width = rightColumns.reduceRight(
(accumulator, currentValue) => {
const width =
layout.widthList.value[currentValue.id]?.width;
const minWidth =
layout.widthList.value[currentValue.id]?.minWidth;
return width || minWidth + accumulator;
return (width || minWidth) + accumulator;
},
0,
);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在给定的代码片段中,以下是一些潜在的bug风险和改进建议:

  1. 局部变量 textStylefixedStyle 是使用 const 声明的,这意味着它们在后续的代码中不会被修改。如果这些变量将来需要被更新,可以将它们声明为 let

  2. 在计算 width 值时,存在隐式的类型转换。建议在相加之前确保操作数是数字类型,以避免可能的错误。

  3. 存在多个重复的代码块,这可能导致维护困难和代码冗余。考虑将这些重复的部分提取为可复用的函数,以提高代码的可读性和可维护性。

  4. 根据给定的代码片段,无法完全确定整个组件或模块的上下文。对于更全面的代码审核,可能需要查看更多相关的代码。

总体来说,除了上述问题,给定的代码片段看起来没有明显的bug风险,并且已经做了一些条件检查来处理特定情况。根据上下文和需求,可能还有其他可以进行的改进,但需要详细了解代码的整体结构和功能才能提供更准确的建议。

@@ -18,7 +18,6 @@
prop="address"
label="地址"
:width="300"
fixed="right"
></f-table-column>
<f-table-column prop="zip" label="邮编" :width="120"> </f-table-column>
<f-table-column
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

以下是您提供的代码片段,我将对其进行简要的代码审查。欢迎提出任何潜在的错误风险和改进建议:

  1. 第一个 <f-table-column> 组件的 prop 属性被删除了,可能会导致数据显示不正常。
    建议恢复 prop="date" ,以确保与数据源匹配。

  2. 第一个 <f-table-column> 组件的 fixed 属性被删除了,这可能是因为您想将选择列固定在左侧,但目前它不会固定。
    建议将 fixed 属性设置为 "left" ,以使选择列固定在左侧。

  3. 第二个 <f-table-column> 组件的 fixed 属性被删除了,可能是因为您想将地址列固定在右侧,但目前它不会固定。
    建议将 fixed 属性设置为 "right" ,以使地址列固定在右侧。

以上是您提供的代码片段的主要问题和改进建议。请注意,如果需要完整的代码审查,还需要更多的上下文信息。

type="selection"
:width="30"
fixed="left"
></f-table-column>
<f-table-column
prop="date"
label="日期"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个代码补丁的主要改动是在一个表格组件上添加了一个选择列。根据提供的信息,没有明显的错误风险。以下是一些建议的改进点:

  1. 为了保持代码一致性,可以将选择列的宽度从硬编码的值改为像素或百分比来适应不同的屏幕尺寸。
  2. 考虑使用一个常量或变量来存储选择列的宽度值,以便在需要修改时更容易进行调整。
  3. 确保选择列被正确放置在固定位置(fixed="left")并与其他列对齐。

如果还有其他相关的代码片段或更详细的描述,我可以提供更准确的建议。

@winixt winixt merged commit 2fc6959 into main Jul 7, 2023
@winixt winixt deleted the fix-table branch July 7, 2023 03:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants