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

checkbox和switch是否可定义选中和未选中的值 #1234

Closed
jinmarcus opened this issue Sep 24, 2021 · 9 comments
Closed

checkbox和switch是否可定义选中和未选中的值 #1234

jinmarcus opened this issue Sep 24, 2021 · 9 comments
Labels

Comments

@jinmarcus
Copy link

jinmarcus commented Sep 24, 2021

This function solves the problem (这个功能解决的问题)

checkbox和switch目前的值只有 true 和 false
可否通过传参的方式,来定义选中和未选中的值?
比如 1 和 0
这在业务场景比较常见。

Expected API (期望的 API)

比如

<n-checkbox
  v-model:checked="value"
  :true-value="1"
  :false-value="0"
>性别</n-checkbox>

switch组件

<n-switch
  v-model:value="value"
  :true-value="1"
  :false-value="0"
/>
@github-actions github-actions bot added the feature request New feature or request label Sep 24, 2021
@jinmarcus jinmarcus changed the title checkbox是否可定义选中和未选中的值 checkbox和switch是否可定义选中和未选中的值 Sep 24, 2021
@Volankey
Copy link
Collaborator

什么实际场景下用到?

@jinmarcus
Copy link
Author

jinmarcus commented Sep 26, 2021

@Volankey
与后端交互的业务场景基本上都要用到,比如读取和保存表单数据,数据库里不可能存true和false,基本上都是1或0,也可能是别的字符串来代替。

比如
是否禁用,一般在数据库中都会存:0:禁用,1:正常。
是否开启,就是0:不开启,1:开启
甚至数据库里可以存其他值,比如:no或 yes。
等等,业务场景就很多了。

如果只有true和false 的话,那单独为了checkbox或switch来转换一下数据,那就有点麻烦了。不是不行,只是代码不够优雅了。
所以如果能定义true-value和false-value,那灵活性就很大了。

@07akioni
Copy link
Collaborator

这又是一个需要做深拷贝对比的需求,如果值是对象,怎么盘算 switch 是否打开,这是个问题。

如果你只想支持基本类型,我觉得可以考虑。

@jinmarcus
Copy link
Author

@07akioni 我认为仅可以支持boolean / string / number这三种类型足够了。
可以满足绝大部分的业务场景了。

@07akioni
Copy link
Collaborator

@07akioni 我认为仅可以支持boolean / string / number这三种类型足够了。
可以满足绝大部分的业务场景了。

有没有其他的库实现了类似的功能?

@07akioni
Copy link
Collaborator

https://element-plus.gitee.io/zh-CN/component/switch.html#attributes

来个 PR?checkedValue & uncheckedValue

@OneSeven
Copy link

@07akioni 同需要,很多细节方面element-ui做的很不错,希望写组件的时候能参考一下
目前switch组件,在应对0和1的时候,都需要在接受数据和发送数据做转换,太过繁琐了

@07akioni
Copy link
Collaborator

@07akioni 同需要,很多细节方面element-ui做的很不错,希望写组件的时候能参考一下
目前switch组件,在应对0和1的时候,都需要在接受数据和发送数据做转换,太过繁琐了

我的观念也得跟着大家的反馈更新

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants