tdesign-react icon indicating copy to clipboard operation
tdesign-react copied to clipboard

[ImageViewer] 建议提供ref.current.openPreview之类方法

Open genyuMPj opened this issue 3 years ago • 7 comments

这个功能解决了什么问题

由于实际开发中,我们期望对某个dom 元素,非图片缩略图,进行操作时,使用某个图片的src 打开图片预览,比如: 对于一个富文本中,点击图片时,触发图片预览的场景,如果监控整个富文本div 时,判断子元素是img ,则呼出图片预览。

你建议的方案是什么

提供ref.current.openPreviewDialog之类的方法,ref.current.openPreviewDialog = ({ src , ...restProps}) => void。 控制图片预览组件的触发。

genyuMPj avatar Sep 19 '22 07:09 genyuMPj

👋 @genyuMPj,感谢给 TDesign 提出了 issue。 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

github-actions[bot] avatar Sep 19 '22 07:09 github-actions[bot]

♥️ 有劳 @Ylushen 尽快确认问题。 确认有效后将下一步计划和可能需要的时间回复给 @genyuMPj 。

github-actions[bot] avatar Sep 19 '22 07:09 github-actions[bot]

trigger 元素有现成的方法 open

也有 visible 可以自由控制是否显示预览器,visible 是受控的,可以控制在任意时机的隐藏或显示

不再新增实例是方法控制是否显示预览器

chaishi avatar Sep 19 '22 07:09 chaishi

1、“trigger 元素有现成的方法 open” 并没有在api 里面看到trigger 元素的 open 方法,是哪个版本呢? 2、visible 是受控的,确实能解决一些场景的问题,但是我所提到的使用场景是希望: 受控的通过ref 实例方法传递 图片预览的 图片src image , 即可以通过实例方法传递 images。 目前我们的images 是受控的吗?

genyuMPj avatar Sep 19 '22 08:09 genyuMPj

trigger 元素有现成的方法 open

也有 visible 可以自由控制是否显示预览器,visible 是受控的,可以控制在任意时机的隐藏或显示

不再新增实例是方法控制是否显示预览器

其实我这边的使用场景主要是有两点要求: 1、 受控的展示预览器,2、不通过固定的trigger 元素 的点击事件触发预览,且预览器展示的图片url 是可控的,可以在触发时 指定,因为我是用于富文本的html 中的图片img元素的预览的。

基于您之前的回复,我也可以trigger 元素指定为要监听的父元素,但是仍然需要img 是可控的哈。 image 这里图片预览器的images 里面的img 是可控的吗? 我可以在在trigger open 执行前,修改吗?

genyuMPj avatar Sep 19 '22 08:09 genyuMPj

不好意思哈,之前demo 代码没看仔细,没注意到trigger 是有入参的。

基于open 这个入参,是否我们可以支持open可以指定images 呢? 就是 const trigger = ({open}) => <Button onClick={() => open(images)}>预览单张图片</Button>

实现images 的受控。(当然,如果我们images 属性本身就是受控的, 也可以)

genyuMPj avatar Sep 19 '22 08:09 genyuMPj

我理解为,所有组件的 99% 的属性都是受控的。不大会存在不受控的属性。images 也是99.99% 支持受控的

如果你经过实践,发现了不受控的哪个属性,提供下可以复现问题的代码。

chaishi avatar Sep 19 '22 09:09 chaishi

这个 Issue 被标记为了过时 stale ,因为它已经持续 30 天没有任何活动了。删除 stale 标签或评论,否则将在 7 天内关闭。

github-actions[bot] avatar Oct 20 '22 06:10 github-actions[bot]

此 Issue 被自动关闭,因为它自被标记为过时 stale 以来已闲置 7 天。

github-actions[bot] avatar Oct 28 '22 05:10 github-actions[bot]