gpt4 book ai didi

dart - 根据 slider 值设置文本值

转载 作者:IT王子 更新时间:2023-10-29 06:43:14 26 4
gpt4 key购买 nike

根据 slider 值设置文本元素

我正在尝试将文本元素设置为由 slider 设置的表情符号的描述。我在 slider 上设置了 5 个不同的表情符号,因此值是 0-4,因为表情符号列表是一个数组。根据我当前的代码,文本未正确更新。

 const _emojis = ['😃','\u{1F928}','\u{1F610}','\u{1F612}','😞'];


child: Slider(
value: _value,
// label: _emojis[_value.toInt()],
min: 0.0,
max: 4.0,
divisions: 4,
onChangeStart: (double value) {
print('Start value is ' + value.toString());
},
onChangeEnd: (double value) {
print('Finish value is ' + value.toString());
if(value.toString() == '0.0'){
return _emotionalStatus = 'Happy';
}
if(value.toString() == '1.0'){
return _emotionalStatus = 'Optimistic';
}
if(value.toString() == '2.0'){
return _emotionalStatus = 'Neutral';
}
if(value.toString() == '3.0'){
return _emotionalStatus = 'Pessimistic';
}
if(value.toString() == '4.0'){
return _emotionalStatus = 'Sad';
}
},
onChanged: (double value) {
setState(() {
_value = value;
});
},
activeColor: Colors.white,
inactiveColor: Colors.white,
),

最佳答案

改变你的onChangeEnd方法,你不需要返回值,只要在你的条件之后调用setState:

     onChangeEnd: (double value) {
print('Finish value is ' + value.toString());
if (value.toString() == '0.0') {
_emotionalStatus = 'Happy';
}
if (value.toString() == '1.0') {
_emotionalStatus = 'Optimistic';
}
if (value.toString() == '2.0') {
_emotionalStatus = 'Neutral';
}
if (value.toString() == '3.0') {
_emotionalStatus = 'Pessimistic';
}
if (value.toString() == '4.0') {
_emotionalStatus = 'Sad';
}
setState(() {

});
},

关于dart - 根据 slider 值设置文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54497498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com