Добавить дополнительную строку для переполнения текста - PullRequest
0 голосов
/ 26 марта 2019

Как добавить дополнительную строку ниже текста в списке?Я использую nativescript, но если есть способ сделать это в angular, это тоже может сработать.

В моем приложении Nativescript (Angular) у меня есть список, который использует RadListView.Когда я нажимаю на текст в каждом элементе списка, текст расширяется.Иногда больший текст переходит на следующую строку.Это проблема, потому что RadListView не позволяет контейнерам вокруг текста изменять размер (на iOS).

Поэтому, когда текст переходит на следующую строку, он скрывается.

Я мог бы решить эту проблему, если бы в каждом элементе списка была дополнительная строка под текстом.Таким образом, если текст переполняется, он просто переходит на следующую строку.

Но как я могу это сделать?

Длина текста варьируется, так что это должно быть сделано динамически каким-либо образом.

Пример:

<RadListView [items]="textArray" iosOverflowSafeArea="false">
    <ng-template tkListItemTemplate let-item="item">
       <StackLayout iosOverflowSafeArea="false">
            <StackLayout style="border-width: 2; border-color: black">
                <Label [text]="item.text" textWrap="true" (tap)="makeTextBigger()"></Label>
            </StackLayout>
        </StackLayout>
    </ng-template>
</RadListView>

//currently, text will be hidden if it gets bigger and overflows to the next line

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Если вы не хотите использовать forceLayout soluton, вам нужно поиграть с высотой Label.Я обновил игровую площадку для вас здесь .

  <Label [text]="country.name" class="list-group-item-heading" height="100" textWrap="true" verticalAlignment="center" style="width: 60%"></Label>

Label в ng0template имеет предопределенную высоту 100, поэтому для элемента tal при увеличении размера текста не нужноВоспроизведение и textWrap прекрасно работают здесь.

0 голосов
/ 26 марта 2019

Это ограничение для iOS, оно не будет ретранслировать ячейку, пока не будет запрошено. Здесь - это обходной путь.

var indexPaths = NSMutableArray.new();
indexPaths.addObject(NSIndexPath.indexPathForRowInSection(rowIndex, event.groupIndex));
listView.ios.reloadItemsAtIndexPaths(indexPaths);

Приведенный выше код принудительно ретранслирует ячейку представления списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...