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

feat(form): The Readonly attribute of Form is added for the form read-only function #4176

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

xiaojueshi
Copy link
Contributor

@xiaojueshi xiaojueshi commented May 7, 2024

feat(form): the Readonly attribute of Form is added for the form read-only function

🤔 这个 PR 的性质是?

  • 日常 bug 修复
  • 新特性提交
  • 文档改进
  • 演示代码改进
  • 组件样式/交互改进
  • CI/CD 改进
  • 重构
  • 代码风格优化
  • 测试用例
  • 分支合并
  • 其他

🔗 相关 Issue

💡 需求背景和解决方案

📝 更新日志

  • feat(form): The Readonly attribute of Form is added for the form read-only function

  • feat(input): Compatible with readonly attribute of form component

  • feat(chekout): Compatible with readonly attribute of form component

  • feat(chekoutGroup): Compatible with readonly attribute of form component

  • 本条 PR 不需要纳入 Changelog

☑️ 请求合并前的自查清单

⚠️ 请自检并全部勾选全部选项⚠️

  • 文档已补充或无须补充
  • 代码演示已提供或无须提供
  • TypeScript 定义已补充或无须补充
  • Changelog 已提供或无须提供

Copy link
Contributor

github-actions bot commented May 7, 2024

完成

input 组件的 readonly 属性更改为使用 useFormReadonly 函数获取,以适配 Form 组件的 readonly 属性
修改 readonly 属性值的获取方式,以适配 Form 组件的 readonly 属性
@uyarn uyarn changed the title feat(form): the Readonly attribute of Form is added for the form read-only function [WIP] feat(form): the Readonly attribute of Form is added for the form read-only function May 7, 2024
@uyarn
Copy link
Collaborator

uyarn commented May 7, 2024

我录个form readonly的API到API平台

@uyarn uyarn changed the title [WIP] feat(form): the Readonly attribute of Form is added for the form read-only function feat(form): the Readonly attribute of Form is added for the form read-only function May 7, 2024
@uyarn
Copy link
Collaborator

uyarn commented May 7, 2024

const formReadonly = inject<FormReadonlyProvider>('formReadonly', Object.create(null));

return computed(() => {
if (isBoolean(context?.beforeReadonly.value)) return context.beforeReadonly.value;
Copy link
Collaborator

Choose a reason for hiding this comment

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

目前应该没有before after的吧?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

这个你得听我狡辩一下,我在做的时候认为这个 readonly 应该与 disabled 的功能相似,只是样式有差别,so 我就直接参照着 useDisabled 写的

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@uyarn 这样有问题吗,guys?

Copy link
Collaborator

Choose a reason for hiding this comment

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

我感觉还是有需要再补充逻辑好点,每个PR就解决具体的问题或者新增当前需要的功能就好

@xiaojueshi xiaojueshi changed the title feat(form): the Readonly attribute of Form is added for the form read-only function feat(form): The Readonly attribute of Form is added for the form read-only function May 14, 2024
// Checkbox.readonly > CheckboxGroup.readonly > Form.readonly
const beforeReadonly = computed(() => {
if (!props.checkAll && !tChecked.value && checkboxGroupData?.value.maxExceeded) {
return true;
Copy link
Collaborator

Choose a reason for hiding this comment

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

这个原来disabled的逻辑还是不用存在,这个逻辑是一个非全选的checkbox选项,且未选中且已经超出checkboxgroup配置的最大值的时候,不用管它是不是配置了disabled都要设置为disabled,不适用于readonly

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@uyarn 修改好了

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.

None yet

2 participants