Я прочитал документацию https://sapui5.hana.ondemand.com/#/entity/sap.m.Select/sample/sap.m.sample.Select/code, и я хотел создать селектор в своем коде.

Я внимательно слежу за документацией, но текст не отображается. В моем XML-файле:

<Select
        selectedKey="{test>/SelectedProduct}"
        items="{
           path: 'test>/ProductCollection',
           sorter: { path: 'Name' }
        }">
        <core:Item key="{test>/SelectedProduct/ProductId}" text="{test>/SelectedProduct/Name}" />
</Select>

В моем файле контроллера:

var oData = {
            "SelectedProduct": "HT-1001",
            "SelectedProduct2": "HT-1001",
            "SelectedProduct3": "HT-1001",
            "ProductCollection": [
                {
                    "ProductId": "HT-1000",
                    "Name": "Notebook Basic 15"
                },
                {
                    "ProductId": "HT-1001",
                    "Name": "Notebook Basic 17"
                },
                {
                    "ProductId": "HT-1002",
                    "Name": "Notebook Basic 18"
                },
                {
                    "ProductId": "HT-1002",
                    "Name": "Notebook Basic 18"
                },
                {
                    "ProductId": "HT-1002",
                    "Name": "Notebook Basic 18"
                }
            ],
            "Editable": true,
            "Enabled": true
        };
            var oModel = new JSONModel(oData);
            this.getView().setModel(oModel, "test");

Он не отображает мне текст, но отображает количество элементов моего массива.

Я также пробовал:

    <Select
        selectedKey="{test>/SelectedProduct}"
        items="{
           path: 'test>/ProductCollection',
           sorter: { path: 'Name' }
        }">
        <core:Item key="{test>/ProductCollection/ProductId}" text="{test>/ProductCollection/Name}" />
    </Select>

А также:

<Select
    selectedKey="{test>/SelectedProduct}"
    items="{
       path: 'test>/ProductCollection',
       sorter: { path: 'Name' }
    }">
    <core:Item key="{test>/ProductCollection.ProductId}" text="{test>/ProductCollection.Name}" />
</Select>

Почему это решение не работает должным образом?

-1
Kan 12 Фев 2021 в 12:05

1 ответ

Лучший ответ

Нет необходимости в ProductCollection в пути привязки элемента. Путь к элементу уже установлен на ProductCollection в Select.

<core:Item key="{test>ProductId}" text="{test>Name}" />
1
alexP 13 Фев 2021 в 11:06