ant-design / pro-chat

🤖 Components Library for Quickly Building LLM Chat Interfaces.
https://pro-chat.antdigital.dev
MIT License
710 stars 90 forks source link

长文本是否可以折叠?👑 [需求] #158

Open liguobao opened 6 months ago

liguobao commented 6 months ago
截屏2024-04-09 11 51 21

文本太长了,想给个自动折叠的效果。

ONLY-yours commented 6 months ago

ChatItemRender -> ContentRender 然后包裹一个antd 的折叠框应该就好了

liguobao commented 6 months ago

这个怎么控制呢?现在用哪个接口能实现类似的效果?

ONLY-yours commented 6 months ago

自动折叠感觉是个业务逻辑,我理解这个逻辑你可以在 render 里面去写,例如

const [open,setOpen] = useState(false)

useEffect(()=>{
  // 这里写你的什么时候展开/缩略的逻辑
    if(xxxx){
        setOpen(true)
    }
},[])

// Components
chatItemRenderConfig={{
          contentRender: (_, defaultContent) => {
            return (
              < Collapse
                open={open}
              >
                {defaultContent}
              </Collapse >
            );
          },
        }}
liguobao commented 6 months ago

这个确实是个业务需求。

不过照着这个逻辑来说,可能是某类消息过长的时候才需要折叠~ 好像用上面这个没办法判断了~ 其实我更想要的应该是配置每个Item的折叠规则~

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Shinji-Li @.> 发送时间: 2024年4月9日 15:06 收件人: ant-design/pro-chat @.> 抄送: 李国宝 @.>, Author @.> 主题: Re: [ant-design/pro-chat] 长文本是否可以折叠?�� [需求] (Issue #158)

自动折叠感觉是个业务逻辑,我理解这个逻辑你可以在 render 里面去写,例如 const [open,setOpen] = useState(false) useEffect(()=>{ // 这里写你的什么时候展开/缩略的逻辑 if(xxxx){ setOpen(true) } },[]) // Components chatItemRenderConfig={{ contentRender: (_, defaultContent) => { return ( < Collapse open={open} > {defaultContent} </Collapse > ); }, }}

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>