Mam definicję pola formularza w komponencie interfejsu użytkownika w moim module Magento 2.
<field name="name">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" xsi:type="string" translate="true">Some Label</item>
<item name="formElement" xsi:type="string">input</item>
<item name="source" xsi:type="string">something_here</item>
<item name="sortOrder" xsi:type="number">10</item>
<item name="dataScope" xsi:type="string">name</item>
<item name="notice" xsi:type="string" translate="true">Enter something here</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
i próbuję zrobić to tylko do odczytu. Nie wyłączony Tylko do odczytu.
Próbowałem dodać:
<item name="readonly" xsi:type="boolean">true</item>
do sekcji konfiguracji, ale oczywiście mi się nie udało.
Jak mogę zrobić pole tylko do odczytu? Czy mogę zrobić pole tylko do odczytu?
magento2
adminform
uicomponent
Marius
źródło
źródło
Odpowiedzi:
Spróbuj dodać
disabled
parametr do elementu w następujący sposób:Wynik powinien być podobny do
readonly
parametru dla zwykłego elementu formularza:źródło
data-form-part
. Przyjrzećmodule-ui/view/base/web/js/form/form.js::initConfig()
,validate()
isubmit()
. Zobacz takżelib/mage/utils/misc.js::submit()
. Te połączone dodają nowy formularz na końcu faktycznie przesłanego formularza.disabled
tylko w formularzu edycji, a nie w nowym formularzu?