响应式 Vaadin 流网格
Responsive Vaadin Flow Grid
网格很不错 table,非常适合桌面或 tablet 等宽屏幕。然而,当在较小的移动设备上显示时,网格将无法容纳超过几列。您是如何在您的应用程序中解决这个问题的?
table 堆栈模式听起来很有前途:https://responsivedesign.is/patterns/data-table-stack/
但是我如何使用 Vaadin Flow 实现它呢?是否可以根据屏幕尺寸将网格与项目列表交换?
我会选择媒体查询。这里有一个示例将它们包含在样式中:Media queries in Shadow dom
因此,例如,如果宽度小于某个预定义值,则将网格的 visibility
设置为 hidden
,将 list
设置为 visible
,反之亦然相反,在需要时。
编辑:还有一个插件可能有助于使用查询:Mediaquery
一种常见的方法是为移动设备和桌面设备设置单独的列。
在移动设备或其他窄屏幕上,可能只有一列以堆叠方式显示。这对于模板渲染来说非常简单,并且模板符合
<div>Name: [[item.name]]</div><div>E-mail: [[item.email]]</div>"
甚至可以将模板定义为 Polymer 模板 Web 组件,导入它,然后像这样设置模板渲染器
<mobile-column item="[[item]]"></mobile-column>
要切换列,可以添加一个调整大小的侦听器(最好是节流的),例如如定义 here.
MediaQuery 插件对此也非常有用。我建议在服务器上切换可见性,以避免发送不必要的数据并在浏览器中进行不必要的渲染。
网格很不错 table,非常适合桌面或 tablet 等宽屏幕。然而,当在较小的移动设备上显示时,网格将无法容纳超过几列。您是如何在您的应用程序中解决这个问题的?
table 堆栈模式听起来很有前途:https://responsivedesign.is/patterns/data-table-stack/ 但是我如何使用 Vaadin Flow 实现它呢?是否可以根据屏幕尺寸将网格与项目列表交换?
我会选择媒体查询。这里有一个示例将它们包含在样式中:Media queries in Shadow dom
因此,例如,如果宽度小于某个预定义值,则将网格的 visibility
设置为 hidden
,将 list
设置为 visible
,反之亦然相反,在需要时。
编辑:还有一个插件可能有助于使用查询:Mediaquery
一种常见的方法是为移动设备和桌面设备设置单独的列。
在移动设备或其他窄屏幕上,可能只有一列以堆叠方式显示。这对于模板渲染来说非常简单,并且模板符合
<div>Name: [[item.name]]</div><div>E-mail: [[item.email]]</div>"
甚至可以将模板定义为 Polymer 模板 Web 组件,导入它,然后像这样设置模板渲染器
<mobile-column item="[[item]]"></mobile-column>
要切换列,可以添加一个调整大小的侦听器(最好是节流的),例如如定义 here.
MediaQuery 插件对此也非常有用。我建议在服务器上切换可见性,以避免发送不必要的数据并在浏览器中进行不必要的渲染。