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

refactor Checkbox-group component #478

Open
25 tasks done
qiqingfu opened this issue Dec 13, 2020 · 0 comments
Open
25 tasks done

refactor Checkbox-group component #478

qiqingfu opened this issue Dec 13, 2020 · 0 comments
Labels
refactor Refactor old code

Comments

@qiqingfu
Copy link
Contributor

qiqingfu commented Dec 13, 2020

Tasking

  • 内容显示

    • checkbox-group slot 支持任何数据,不限制直接子组件一定是 checkbox 或 checkbox-button
  • 双向数据绑定

    • props 接受 modelValue ,包含已选中的 checkbox 的 label
    • 通过 provide 将 modelValue 提供给子孙组件
  • size

    • props 对象接受 size ,设置多选框组的整体尺寸
    • 通过 provide 将 size 提供给子孙组件,子组件自身无 size 时,应用当前组件 size
  • disabled

    • props 对象接受 disabled,设置多选框组的禁用状态
    • 通过 provide 将 disabled 提供给子孙组件,子组件自身无 disabled 时,应用当前组件 disabled
  • border

    • props 对象接受 border,设置按钮样式
    • 通过 provide 将 border 提供给子孙组件,子组件自身无 border 时,应用当前组件 border
  • min

    • props 对象接受 min,设置多选框组最少必选的个数
    • 默认值 0,表示可以全不选中
    • 通过 provide 将 min 提供给子孙组件
    • 多选框组已选中个数 <= min 时,选中的多选框都是禁用状态 (多数情况下 min 是固定的)
    • 多选框组已选中个数 > min 时,选中的多选框都是非禁用状态
  • max:

    • props 对象接受 max,设置多选框最多选中个数
    • 默认值 0,表示可以全部选中
    • 通过 provide 将 max 提供给子孙组件
    • 多选框已选中个数 >= max 时,未选中的多选框都是禁用状态
    • 多选框已选中个数 < max 时,未选中的多选框都是非禁用状态
    • 当 min 和 max 都为 0 时,不做任何限制
  • change

    • 通过 provide 向子孙组件传入 change 函数,内部值改变时触发
    • change 函数触发,应发送 change 自定义事件,传递最新值。
  • update

    • 通过 provide 向子孙组件传入 update 函数,内部选中值更新触发
    • update 函数触发,发送 update:modelValue 自定义事件,传递最新值
  • 自定义激活样式

    • 当设置 text-color 和 fill 时,插槽中选中状态的 el-checkbox-button 将应用样式
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor Refactor old code
Projects
None yet
Development

No branches or pull requests

2 participants