Magento 2: Выпадающий список не отображается в форме администратора


Я добавляю раскрывающееся поле в форме администратора для отображения статуса включить или отключить следующим образом:

<field name="status">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="label" translate="true" xsi:type="string">Status</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="options" xsi:type="string">Lime\Confirmation\Model\Status</item>
                    <item name="source" xsi:type="string">bank_destination</item>
                    <item name="sortOrder" xsi:type="number">130</item>
                    <item name="dataScope" xsi:type="string">status</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">false</item>
                    </item>
                </item>
            </argument>
        </field>

Он вызывает модель/статус для метки и значения параметров. Когда я загружаю раскрывающийся список страниц, в нем не отображаются какие-либо метки и значения в качестве опции. Вот это Model/Status.php :

namespace Lime\Confirmation\Model;

class Status implements \Magento\Framework\Option\ArrayInterface
{
    /**
     * Retrieve options array.
     *
     * @return array
     */
    public function toOptionArray()
    {
        $result = [];

        foreach (self::getOptionArray() as $index => $value) {
            $result[] = ['value' => $index, 'label' => $value];
        }

        return $result;
    }

    /**
     * Retrieve option array
     *
     * @return string[]
     */
    public static function getOptionArray()
    {
      return [
          '1' => 'Active',
          '0' => 'Inactive',
      ];
    }

    /**
     * Retrieve option array with empty value
     *
     * @return string[]
     */
    public function getAllOptions()
    {
        $result = [];

        foreach (self::getOptionArray() as $index => $value) {
            $result[] = ['value' => $index, 'label' => $value];
        }

        return $result;
    }

    /**
     * Retrieve option text by option value
     *
     * @param string $optionId
     * @return string
     */
    public function getOptionText($optionId)
    {
        $options = self::getOptionArray();

        return isset($options[$optionId]) ? $options[$optionId] : null;
    }
}
Author: Dhiren Vasoya, 2017-02-06

1 answers

Попробуйте сделать это следующим образом:

<field name="status">
    <argument name="data" xsi:type="array">
        <item name="options" xsi:type="object">Lime\Confirmation\Model\Status</item>
        <item name="config" xsi:type="array">
            <item name="label" xsi:type="string" translate="true">Status</item>
            <item name="dataType" xsi:type="string">number</item>
            <item name="formElement" xsi:type="string">select</item>
            <item name="dataScope" xsi:type="string">status</item>
            <item name="sortOrder" xsi:type="number">130</item>
            <item name="validation" xsi:type="array">
                <item name="required-entry" xsi:type="boolean">false</item>
            </item>
        </item>
    </argument>
</field>
 2
Author: Sohel Rana, 2017-02-06 04:03:33