weixin_39604139
weixin_39604139
2021-01-12 08:36

使用CheckTree 组件遇到的问题

使用版本: 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过滤后,能否只返回过滤后的子节点

该提问来源于开源项目:rsuite/rsuite

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • weixin_39604139 weixin_39604139 3月前

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

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

    点赞 评论 复制链接分享
  • weixin_39611161 weixin_39611161 3月前

    我漏了问题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

    点赞 评论 复制链接分享
  • weixin_39611161 weixin_39611161 3月前

    -er

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

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

    点赞 评论 复制链接分享
  • weixin_39611161 weixin_39611161 3月前

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

    点赞 评论 复制链接分享
  • weixin_39604139 weixin_39604139 3月前

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

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

    点赞 评论 复制链接分享
  • weixin_39611161 weixin_39611161 3月前

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

    点赞 评论 复制链接分享