Можно ли динамически добавлять драйверы бесед, используя элементы в списке? - PullRequest
2 голосов
/ 24 апреля 2019

Я хотел бы динамически добавить некоторые драйверы беседы, используя элементы в списке, может быть 0 или более элементов до 6.

Цикл for-each в настоящее время не разрешен в блоке драйверов разговоров, поэтому я прибег к использованию операторов if и выбору соответствующего элемента в списке.

conversation-drivers {
    if (size(this.options) > 0) {
      conversation-driver {
        template ("#{value(this.options[0].name)}")
      }
    }
    if (size(this.options) > 1) {
      conversation-driver {
        template ("#{value(this.options[1].name)}")
      }
    }
    if (size(this.options) > 2) {
      conversation-driver {
        template ("#{value(this.options[2].name)}")
      }
    }
}

Это работает, но уродливо, есть ли лучший способ?

Спасибо

1 Ответ

1 голос
/ 24 апреля 2019

Вы правы, что внутри conversation-drivers нет дочернего ключа for-each. Хороший обходной путь с if, и я боюсь, что так будет и сейчас.

Одна заметка о conversation-drivers, из-за размера экрана мобильного устройства она может выглядеть не очень красиво, если выбрано более 3 вариантов. Вы можете сначала проверить примерное представление с 6 пунктами.

Веселись вместе с Биксби!

...