在ui组件表单字段上设置默认配置值


9

表单和网格的ui组件格式在2.2版(dev)中正在更改。(也许已经做到了)。如何为字段设置默认值。
在2.2-dev之前,您可以在表单中添加类似这样的字段。

    <field name="title">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="dataType" xsi:type="string">text</item>
                <item name="default" xsi:type="string">Some default value.</item>
                <item name="label" xsi:type="string" translate="true">Page Title</item>
                <item name="formElement" xsi:type="string">input</item>
                <item name="source" xsi:type="string">source_here</item>
                <item name="sortOrder" xsi:type="number">20</item>
                <item name="dataScope" xsi:type="string">title</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
        </argument>
    </field>

在2.2-dev中,该列如下所示:

    <field name="title" sortOrder="20" formElement="input">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="source" xsi:type="string">source_here</item>
            </item>
        </argument>
        <settings>
            <validation>
                <rule name="required-entry" xsi:type="boolean">true</rule>
            </validation>
            <dataType>text</dataType>
            <label translate="true">Page Title</label>
            <dataScope>title</dataScope>
        </settings>
    </field>

请注意,default第二个示例中缺少。
我尝试使用<default>Some default value</default>与先前版本相同的语法,但是xml无法验证。

有没有办法在新版本中执行此操作,或者有人忽略了它?



@RaphaelatDigitalPianism我首先需要确认。
马吕斯

还未对tbh进行过多研究,但听起来很像是有人忘记了某些东西
拉斐尔(Raphael)在Digital Pianism上

也许有点题外话:但是它会向后兼容吗?:-S
Giel Berkers '17

@GielBerkers。从到目前为止的测试来看,旧版本仍然可以在2.2-dev版本上运行。所以我会说是的。
马里斯(Marius)

Answers:


2

我挖了一些核心文件,发现它们已经设置了默认值,就像这样

资源 vendor/magento/module-catalog/view/adminhtml/ui_component/category_form.xml

您可以尝试以下方式可能会帮助您:

<field name="title" sortOrder="20" formElement="input">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="source" xsi:type="string">source_here</item>
            <item name="default" xsi:type="string">Some default value.</item> <!--Default Value-->
        </item>
    </argument>
    <settings>
        <validation>
            <rule name="required-entry" xsi:type="boolean">true</rule>
        </validation>
        <dataType>text</dataType>
        <label translate="true">Page Title</label>
        <dataScope>title</dataScope>
    </settings>
</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.