Magento 2: So stellen Sie den Radioeingabewert mithilfe des UI-Formulars ein

7

Ich muss einen Gender-Radio-Eingang mit der Magento-UI-Komponentenform erstellen

<field name="gender">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="description" xsi:type="string" translate="true">Gender</item>
                    <item name="dataType" xsi:type="string">boolean</item>
                    <item name="formElement" xsi:type="string">radio</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="boolean">male</item>
                        <item name="false" xsi:type="boolean">femal</item>
                    </item>
                </item>
            </argument>
    </field>
Deexit Sanghani
quelle
Was ist das Problem bei der Verwendung des obigen Codes?
Rakesh Jesadiya
@ Rakesh es ist Fehler gegebenException #0 (Magento\Framework\Exception\LocalizedException): The requested component ("radio") is not found. Before using, you must add the implementation.
Deexit Sanghani

Antworten:

10

Endlich habe ich die Antwort bekommen

<field name="gender">
        <argument name="data" xsi:type="array">
            <item name="options" xsi:type="object">[vendor]\[module]\Model\Config\Source\Gender</item>
            <item name="config" xsi:type="array">                    
                <item name="sortOrder" xsi:type="number">20</item>
                <item name="dataType" xsi:type="string">text</item>
                <item name="formElement" xsi:type="string">radioset</item>
                <item name="label" xsi:type="string" translate="true">Gender</item>
                <item name="source" xsi:type="string">category</item>
                <item name="validation" xsi:type="array">
                    <item name="required-entry" xsi:type="boolean">true</item>
                </item>
            </item>
        </argument>
    </field>

Erstellen Sie> [Anbieter] / [Modul] /Model/Config/Source/Gender.php

namespace [Vendor]\[module]\Model\Config\Source;

use Magento\Framework\Option\ArrayInterface;

class Gender implements ArrayInterface
{
    /**
     * @return array
     */
    public function toOptionArray()
    {
        $options = [
            0 => [
                'label' => 'Male',
                'value' => 'male'
            ],
            1 => [
                'label' => 'Female',
                'value' => 'female'
            ],
        ];

        return $options;
    }
}
Deexit Sanghani
quelle
2

Verwenden Sie dieses Feldset:

<item name="formElement" xsi:type="string">radioset</item>
Ronak Chauhan
quelle