布局=填充下一个/图像时,我可以获得宽度值吗?

Posted

技术标签:

【中文标题】布局=填充下一个/图像时,我可以获得宽度值吗?【英文标题】:Can I get width value when layout=fill in next/image? 【发布时间】:2021-08-09 14:25:56 【问题描述】:
<Image
    
    src="/image_example.png"
    layout="fill"
    objectFit="none"
/>
<Test width=? height=?/>

我用 next/image 创建了一个简单的组件。

我想把这个 img 的宽度和高度值传递给组件。

我可以从中获得价值吗?

【问题讨论】:

【参考方案1】:

图片加载完成后,您可以在onLoad回调中获取图片的width/height值。

const CustomComponent = (props) => 
    const [imgDimensions, setImgDimensions] = useState();

    return (
      <>
        <Image
            
            src="/image_example.png"
            layout="fill"
            objectFit="none"
            onLoad=(e) => 
                const  height, width  = e.target;
                setImgDimensions( width, height )
            
        />
        imgDimensions && <Test width=imgDimensions.width height=imgDimensions.height />
      </>
    );
;

【讨论】:

以上是关于布局=填充下一个/图像时,我可以获得宽度值吗?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式更新图像宽度和边距

具有百分比高度和宽度的相对布局

如何在imageView上设置自动布局约束以获得良好的分辨率图像?

缩放图像以填充 ImageView 宽度并保持纵横比

颤振布局问题

iOS 自动布局:这可以用 IB 完成吗?