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

使用CheckTree 组件遇到的问题 #788

Closed
Alt-er opened this issue Dec 18, 2019 · 6 comments
Closed

使用CheckTree 组件遇到的问题 #788

Alt-er opened this issue Dec 18, 2019 · 6 comments
Assignees
Labels
Question DEPRECATED. Use "Convert into discussion" instead. type: Bug

Comments

@Alt-er
Copy link

Alt-er commented Dec 18, 2019

使用版本:
react 16.12.0
rsuite 4.1.4

使用的按需加载的CheckTree
import CheckTree from 'rsuite/lib/CheckTree';
import 'rsuite/lib/CheckTree/styles';
import 'rsuite/dist/styles/rsuite-default.css';

问题:
height 属性设置不能超过360px ,发现内部有style设置 max-height:360,是我引入的样式文件不对?

问题:
width 属性不受控,动态修改width无效

问题:
如何自定义没有数据时的显示? 默认显示:No results found

问题:
开启虚拟列表时 onChange 事件触发问题,选择父节点触发onChange获得的values只有一个,子节点的value获取不到,第二次点击才会获取所有的value(包括子节点的)

问题:
onChange 返回的values 是否可以只获取所有选中的子节点, 通过searchKeyword过滤后,能否只返回过滤后的子节点

@superman66 superman66 self-assigned this Dec 18, 2019
@superman66
Copy link
Member

superman66 commented Dec 19, 2019

@Alt-er
问题1:需要自己设置样式来控制 max-height。组件暴露了 style api。
问题2:width属性不支持受控。什么情况下需要动态修改width?不过你还是可以通过样式来控制宽度。
问题3:根据你的描述并没有测试出问题。可以提供下 online demo 吗?
问题4:你可以设置 cascader={false},这样返回的 value 就是你所选择的节点值。
搜索只是过滤当前数据的显示,原始的数据 data 并没有发生变化。

@Alt-er
Copy link
Author

Alt-er commented Dec 19, 2019

宽度问题bug重现
高度问题可以用样式解决,但是宽度问题不行,宽度增加后就无法减少了

后面的问题 后面再提供online demo

@superman66
Copy link
Member

我知道你的意思了。这个是个 Bug。当设置了 virtualized 时,就会出现这样的问题。

superman66 added a commit that referenced this issue Dec 20, 2019
superman66 added a commit that referenced this issue Dec 20, 2019
@Alt-er
Copy link
Author

Alt-er commented Dec 20, 2019

image
第三个问题:当treeData 无数据 或者 通过过滤器过滤后无数据时显示的界面能否修改,默认是英文的,我需要定制这个界面

第四个问题: 选择父节点时,onChange 事件中拿不到子节点的id ,如果我要子节点的id我也可以自己遍历,也没问题。但是使用searchKeyword过滤数据后,我不知道哪些数据被过滤了,这样我就不能通过遍历treeData知道选中了哪些节点了(被过滤的节点应该不属于勾选状态了),
应用场景:需要选中所有name中包含 "张" 的节点 。 我会先通过过滤器过滤节点,然后选中过滤后的节点,就可以拿到这些节点的数据

@superman66

@superman66
Copy link
Member

superman66 commented Dec 20, 2019

我漏了问题3了。国际化的问题你需要使用 'IntlProvider' 来设置。
如果你是要定制具体的某个文案,你可以参照:https://codesandbox.io/s/rsuite-template-er5e3。
如果是普通的国际化设置,可以参照国际化文档:https://rsuitejs.com/guide/intl

RSuite 内置的国际化文件:
https://github.com/rsuite/rsuite/blob/master/src/IntlProvider/locales/en_US.ts#L43

@simonguo simonguo added the Question DEPRECATED. Use "Convert into discussion" instead. label Dec 20, 2019
@superman66
Copy link
Member

@Alt-er

第四个问题: 选择父节点时,onChange 事件中拿不到子节点的id ,如果我要子节点的id我也可以自己遍历,也没问题。但是使用searchKeyword过滤数据后,我不知道哪些数据被过滤了,这样我就不能通过遍历treeData知道选中了哪些节点了(被过滤的节点应该不属于勾选状态了),
应用场景:需要选中所有name中包含 "张" 的节点 。 我会先通过过滤器过滤节点,然后选中过滤后的节点,就可以拿到这些节点的数据

关于这个问题,我觉得你还是提供一个 demo 吧。就算过滤,也是可以通过查找拿到节点的。

simonguo pushed a commit that referenced this issue Jan 2, 2020
* Fix: CheckTreePicker and TreePicker change width does't work when setting virtualized prop (#788)

* Fix: children node does't display when loading data asynchronously in virtualized mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Question DEPRECATED. Use "Convert into discussion" instead. type: Bug
Projects
None yet
Development

No branches or pull requests

3 participants