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

BasicForm 自定义 autoAdvancedLine 无效 #1051

Closed
waney opened this issue Aug 9, 2021 · 15 comments
Closed

BasicForm 自定义 autoAdvancedLine 无效 #1051

waney opened this issue Aug 9, 2021 · 15 comments

Comments

@waney
Copy link

waney commented Aug 9, 2021

版本 2.7.0

<BasicForm @register="basic"></BasicForm>

const [basic, { validate }] = useForm({
      labelWidth: 120,
      schemas: step1Schemas,
      showAdvancedButton: true,
      autoAdvancedLine: 9,
      autoSubmitOnEnter: true,
      actionColOptions: {
        span: 24,
      },
      submitButtonOptions: {
        text: '下一步',
      },
      submitFunc: customSubmitFunc,
    });
@mynetfan
Copy link
Collaborator

mynetfan commented Aug 9, 2021

请查阅文档或form源代码理解autoAdvancedLine的配置意义。它不是设置schemas数量,而是schemas所占行数。你配置的是autoAdvancedLine: 9,假设每行3个schemas,那么只有你的schemas数量超过3*9=27时才会显示折叠按钮

@waney
Copy link
Author

waney commented Aug 9, 2021

是我没说清楚,我想说的是收起状态下可见schemas 数量,比如我想正常可见多少个schemas,其余的折叠。
如我设置autoAdvancedLine:9,实际上我有30个schemas,想折叠后面21个。

@waney
Copy link
Author

waney commented Aug 9, 2021

如果 showAdvancedButton 为 true,超过指定行数行默认折叠

文档说的意思不是指折叠超过指定行数之后的schemas吗?

@mynetfan
Copy link
Collaborator

mynetfan commented Aug 9, 2021

如果你每行有3个,想要折叠后面的21个只显示前面的9个,autoAdvancedLine需要设置为3(9/3=3),默认显示3行(9个)

@waney
Copy link
Author

waney commented Aug 9, 2021

正是如此,我每行1个,无任autoAdvancedLine设置多少,均显示一行,所以我才来反馈啊。

@waney
Copy link
Author

waney commented Aug 9, 2021

如果你每行有3个,想要折叠后面的21个只显示前面的9个,autoAdvancedLine需要设置为3(9/3=3),默认显示3行(9个)

也就是说如此设置最终也只显示3个(一行)

@waney
Copy link
Author

waney commented Aug 11, 2021

https://github.com/anncwb/vue-vben-admin 下载了最新版重现这个情况。

1
2
4

@waney
Copy link
Author

waney commented Aug 11, 2021

autoAdvancedLine 值小于7显示效果均如图一,大于6则全部显示。

@waney
Copy link
Author

waney commented Aug 11, 2021

@mynetfan

@canvascat
Copy link

是我没说清楚,我想说的是收起状态下可见schemas 数量,比如我想正常可见多少个schemas,其余的折叠。
如我设置autoAdvancedLine:9,实际上我有30个schemas,想折叠后面21个。

收起状态显示数量是写死的, 没有暴露; autoAdvancedLine的意思是如果行数大于等于设定值则自动折叠(折叠后显示的行数无法改变)

src\components\Form\src\hooks\useAdvanced.ts
q4m264dOyE59RPAbp8HiTg==

taKk0yamuje2H#jLgtIvow==

其中每个schema的isAdvanced是用来控制显示的, advanceState.isAdvanced对应收起按钮的显示状态,
如果你想自己控制每个schema的显示,你可以单独设置每个schema的show属性:
CWgSAWiysCwauDy19vZwMw==

@waney
Copy link
Author

waney commented Aug 12, 2021

是我没说清楚,我想说的是收起状态下可见schemas 数量,比如我想正常可见多少个schemas,其余的折叠。
如我设置autoAdvancedLine:9,实际上我有30个schemas,想折叠后面21个。

收起状态显示数量是写死的, 没有暴露; autoAdvancedLine的意思是如果行数大于等于设定值则自动折叠(折叠后显示的行数无法改变)

src\components\Form\src\hooks\useAdvanced.ts
q4m264dOyE59RPAbp8HiTg==

taKk0yamuje2H#jLgtIvow==

其中每个schema的isAdvanced是用来控制显示的, advanceState.isAdvanced对应收起按钮的显示状态,
如果你想自己控制每个schema的显示,你可以单独设置每个schema的show属性:
CWgSAWiysCwauDy19vZwMw==

单独设置某一字段 show: true 并没有效果,如果autoAdvancedLine的值并不影响折叠后的显示数量,那么这个值的作用并没有发挥其价值啊,如其是代表折叠后的显示数量不也能达到同样的折叠意义嘛。

@canvascat
Copy link

@waney 疏忽了,最后的显示还有showAdvancedButton属性控制, 看来要达到里这个目的只能取改BASIC_COL_LEN值了😅

@mynetfan
Copy link
Collaborator

BASIC_COL_LEN 指的是一行的COL数量。这个常量就是固定的24,参考https://2x.antdv.com/components/grid-cn

@waney
Copy link
Author

waney commented Aug 13, 2021

这里不涉及前端col排列,只需要关注折叠情况下显示多少个Field就可以了啊。

@mynetfan
Copy link
Collaborator

autoAdvancedLine 超过多少行默认折叠状态(不影响折叠行数)
alwaysShowLines 折叠时始终显示的行数

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

No branches or pull requests

3 participants