Eu tenho essa definição de componente de interface do usuário de um campo de formulário No meu módulo 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>
e estou tentando torná-lo somente para leitura. Não desabilitado. Apenas de leitura.
Eu tentei adicionar:
<item name="readonly" xsi:type="boolean">true</item>
para a seção de configuração, mas obviamente eu falhei.
Como posso fazer o campo somente leitura? Posso fazer o campo somente leitura?
magento2
adminform
uicomponent
Marius
fonte
fonte
Respostas:
Tente adicionar o
disabled
parâmetro ao elemento assim:O resultado deve ser semelhante ao
readonly
parâmetro para o elemento de formulário regular:fonte
data-form-part
. Dê uma olhadamodule-ui/view/base/web/js/form/form.js::initConfig()
,validate()
esubmit()
. Veja tambémlib/mage/utils/misc.js::submit()
. Estes combinados adicionam um novo formulário no final do corpo que é realmente enviado.disabled
apenas no formulário de edição e não no novo formulário?