私のMagento 2モジュールには、フォームフィールドのこのuiコンポーネント定義があります。
<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>
configセクションに、しかし私は明らかに失敗しました。
フィールドを読み取り専用にするにはどうすればよいですか?フィールドを読み取り専用にできますか?
「無効」と「読み取り専用」のパラメーターの違いは何ですか?私の意見では、両方のパラメーターは同じように機能します。
—
Siarhey Uchukhlebau
私が知っていることから、無効はフィールドがポスト経由で送信されず、読み取り専用が送信されることを意味します。私の計画は、いくつかのJavaScriptを介して読み取り専用フィールドの値を変更することです。
—
マリウス
もちろん、(uiではなく)通常のmagento形式では、「readonly」属性は「無効」なHTML属性を意味します。別の方法では、カスタムコンポーネントまたはカスタムスクリプトを使用する必要があります。ui-componentsには「readonly」属性が存在しないためです。
—
Siarhey Uchukhlebau
私は今あなたの答えに固執するつもりです。将来、実際にフィールドを無効にする必要がないことを願っています。
—
マリウス
formElementを入力のままにして、テキストelementTmplを次のように追加します<item name = "elementTmpl" xsi:type = "string"> ui / form / element / text </ item>参照:magento.stackexchange.com/a/296735/14271
—
Magento_Newbie