Я хочу отправить sh мои данные List в базу данных через мою модель, и я хочу получить свой currentState.
class SettingsDialog extends StatefulWidget {
final ChexiUser user;
SettingsDialog({this.user});
@override
_SettingsDialogState createState() => _SettingsDialogState();
}
Вот мой Stateful Widget, который создает изменяемый виджет _SettingsDialogState. У меня есть класс с именем Options, в котором есть функция c List, которая позволяет getOptions (user) отображать мои параметры в DataTable.
class Option {
String name;
String option;
String description;
bool value;
Object user;
String valueString;
Option(
{this.name,
this.option,
this.description,
this.user,
this.value,
this.valueString});
static List<Option> getOptions(user) {
return <Option>[
Option(
name: 'autoPass',
value: user.settingsAutoPass,
option: 'Auto Pass',
description:
'The game will automatically roll the dice when a new turn starts or a double is rolled'),
Option(
name: 'autoRoll ',
value: user.settingsAutoRoll,
option: 'Auto Roll',
description:
'The game will automatically pass the dice if there is no move'),
Option(
name: 'showCheckMoves ',
value: user.settingsShowCheckMoves,
option: 'Show Check Move',
description:
'When an opponent can be put in check, highlight the squares (from, to) that will lead to a
check '),
Option(
name: 'showFileRank ',
value: user.settingsShowFileRank,
option: 'Show File Rank',
description:
'Show the files and ranks on the sides of the gameboard'),
Option(
name: 'showLastOpponentMove',
value: user.settingsShowLastOpponentMove,
option: 'Show Last Opponent Move',
description:
' The opponent\'s last move (from, to) will show as a different colored square'),
Option(
name: 'showMateMoves',
value: user.settingsShowMateMoves,
option: 'Show Mate Move',
description:
'When an opponent can be put in mate, highlight the squares (from,to) that will lead to a
mate'),];
}
}
В моем виджете класса _SettingsDialogState я инициализировал параметры
class _SettingsDialogState extends State<SettingsDialog> {
List<Option> options;
@override
void initState() {
options = Option.getOptions(widget.user);
super.initState();
}
Теперь в моем DataTable я вызывал setState (() {}) каждый раз, когда происходят изменения для обновления значений моего initState, и он работает так хорошо. Теперь я хочу, чтобы мои данные были сохранены в функции модели, и мне нужны данные о состоянии, и я не знаю, как получить мои данные. Должен ли я передать список опций моей функции сохранения или просто вызвать currentState моего виджета. Я застрял, и я искал решения в Интернете. Я попытался передать список опций, но когда я его распечатал, он вызывает экземпляр Option. Мне нужна ваша экспертиза по этому вопросу. Спасибо, ребята, я знаю, что я близко, мне просто нужно знать, как выполнить. Или я рядом?