使用2.1.3,有没有办法从UI组件管理网格中隐藏整个列?我发现Magento2将css类添加到admin ui网格列,并且隐藏了该列,但没有隐藏列标题(网格列未对齐)。
使用2.1.3,有没有办法从UI组件管理网格中隐藏整个列?我发现Magento2将css类添加到admin ui网格列,并且隐藏了该列,但没有隐藏列标题(网格列未对齐)。
Answers:
您可以尝试 <item name="componentDisabled" xsi:type="boolean">true</item>
例如:
Vendor/Module/view/adminhtml/ui_component/product_form.xml
<field name="backorders">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="componentDisabled" xsi:type="boolean">true</item>
</item>
</argument>
</field>
<item name="visible" xsi:type="boolean">false</item>
在声明列时在data参数的config节点中使用
例如。
<column name="created_at">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="resizeEnabled" xsi:type="boolean">false</item>
<item name="filter" xsi:type="string">dateRange</item>
<item name="sorting" xsi:type="string">desc</item>
<item name="label" xsi:type="string" translate="true">Created at</item>
<item name="sortOrder" xsi:type="number">120</item>
<item name="visible" xsi:type="boolean">false</item>
</item>
</argument>
</column>
唯一的问题,直到将列切换回可见状态,过滤器才会显示
Magento_Ui/view/base/web/js/grid/columns/column.js
用您的业务逻辑进行扩展/覆盖
在ui xml中添加以下代码以删除列
<column name="name_of_column">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="componentDisabled" xsi:type="boolean">true</item>
</item>
</argument>
</column>
<field name="name_of_column">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="componentDisabled" xsi:type="boolean">true</item>
</item>
</argument>
</field>