У меня есть это UI-компонент определения поля формы в моем модуле 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>
и я пытаюсь сделать это только для чтения. Не отключен Просто только для чтения.
Я попытался добавить:
<item name="readonly" xsi:type="boolean">true</item>
в разделе конфигурации, но, очевидно, я не смог.
Как сделать поле доступным только для чтения? Можно ли сделать поле доступным только для чтения?
magento2
adminform
uicomponent
Мариус
источник
источник
Ответы:
Попробуйте добавить
disabled
параметр в элемент следующим образом:Результат должен быть похож на
readonly
параметр для обычного элемента формы:источник
data-form-part
. Посмотритеmodule-ui/view/base/web/js/form/form.js::initConfig()
,validate()
иsubmit()
. Также посмотрите наlib/mage/utils/misc.js::submit()
. Все вместе они добавляют новую форму в конце тела, которое фактически отправлено.disabled
только в форме редактирования, а не в новой?