#flutter #dart #flutter-layout
#flutter #dart #flutter-layout
Вопрос:
Я извлекаю некоторые данные из API в виджет шагового шага. Данные возвращают список категорий, и у этих категорий есть список вопросов. Я хотел бы задать название категории в качестве шага и его вопросы для содержимого шага. Вот как я получаю категории и строю шаги
void _getCategories() async {
var res = await Network().getData("/questions");
//check if success
if (res.statusCode == 200) {
var body = json.decode(res.body);
var data = body['flow']['categories'];
HashMap<String, Object> temp = new HashMap<String, Object>();
for (var category in data) {
temp.putIfAbsent(category['description'], () => category['questions']);
}
setState(() {
categories = temp;
});
_buildSteps();
}
}
Затем я создаю список шагов:
void _buildSteps() {
categories.forEach((key, value) {
steps.add(Step(
title: Text(key), content: Text(key), isActive: currentStep >= 0));
});
}
использование
currentStep >= 0
устанавливает все шаги активными, но я хочу установить только первый шаг в качестве текущего шага, и когда нажмите продолжить, он сделает следующий шаг активным.
Ответ №1:
List<Step> getSteps() {
List<Step> mySteps = [];
for(int i = 0; i< 5; i ) {
final _step = Step(title: Text('$i'), content: Container(), isActive: true);
mySteps.add(_step);
}
return mySteps;
}