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

max_per_widthmin_per_width仅设置其中一个,另一个为undefined时,而设置的那项又与默认配置冲突时,会出现非预期的情况 #310

Closed
Justin3go opened this issue May 18, 2024 · 1 comment

Comments

@Justin3go
Copy link

问题描述

标题描述可能稍微有一点绕,接下来详细解释一下,主要就是这段代码的逻辑:

image

情况1min_per_widthundefined,而用户设置的max_per_width < 430时,比如200。

就会出现__min_per_width = 430,而__max_per_width=200的情况,然后执行最后两行的if语句,此时倒是没有问题,因为判断max的语句在判断min语句之后执行,会将其重新设置为__per_width = __max_per_width200,这是符合用户预期的。(但其实内部的逻辑也是错误的,只是恰好语句的顺序让代码正确执行了)

情况2max_per_widthundefined,而用户设置的min_per_width > 650时,比如1000。

就会出现__max_per_width = 650,而__min_per_width = 1000的情况,然后同样执行最后两行的if语句此时就会出现问题,先是倒数第二行语句将__per_width设置为1000,然后最后一行的语句又会将其设置为650,这并不符合用户预期。(用户只设置了min_per_width,结果出现的距离还小于用户设置的最小值)

解决方案

也许可以像下面这样增加一点逻辑:

image

当然,这也许并不需要修改,仅仅在官网文档中提示一下仅设置其中一项时,配置的max值不得小于默认min值,配置的min值不得小于默认max值

因为之前我根据官网的配置:

image

其中就有一项为undefined,然后我试图修改另外一项,并超过了默认值,就出现了非预期的情况。

  • 我理解用户不会出现自己设置的max值 < min值的情况,
  • 但很容易出现自己设置的max值 < 代码里默认的min值自己设置的min值 > 代码里默认的max值,这通常会导致一些误解。

最后

还是非常感谢作者开源了此框架,并且如果此方案是可行的,我可以来完成此项任务。

@seeksdream
Copy link
Owner

好嘞,兄弟用心了,写的很细致。
下个版本(2.2.1)会包含这段逻辑,本周内发布

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

2 participants