Magento 2:如何在管理网格中隐藏列?


Answers:


3

您可以尝试 <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>

感谢@Khoa,但我想根据用户的权限显示该列,因此我希望该列在那里,但要开始隐藏。
dbcn

3

<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>

唯一的问题,直到将列切换回可见状态,过滤器才会显示


感谢@Mammouth,但这看起来像一个配置设置-我希望能够根据用户角色更改可见性,因此必须在代码中进行检查。
dbcn

acl并不是为此创建的...但是为了模仿类似的东西,只是Magento_Ui/view/base/web/js/grid/columns/column.js用您的业务逻辑进行扩展/覆盖
Mammouth

在其他方面,我认为打开一个新线程解决您当前的问题(按用户角色设置隐藏列)会很好,因为该问题已经解决了
Mammouth

@Mammouth,但是过滤器应该可见,我们只能从列中隐藏吗?
贾法尔·平贾尔

1

在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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.