itemOnSelected method
点击按钮选项
data
包含当前点击的分组数据 和 分组下标
index
按钮下标
Implementation
void itemOnSelected(STabEntityAndIndexData data, int index) async {
if (onItemIntercept != null) {
final isIntercept = await onItemIntercept!.call(data.$1, index);
if (isIntercept == true) {
return;
}
}
// 重置额外输入(可添加互斥,额外输入与筛选按钮可合并返回)
resetAttachment(data.$1.key);
final group = data.$1;
final single = group.isRadio;
var groups = value.items;
for (var i = 0; i < groups.length; i++) {
var tempGroup = groups[i];
// 当前操做的数据组
if (i == data.$2) {
// 修改按钮选中状态
var items = tempGroup.items;
for (var k = 0; k < items.length; k++) {
// 单选
if (single) {
items[k].selected = false;
} else {
if (items[index].isMutex) {
items[k].selected = false;
} else {
if (items[k].isMutex) {
items[k].selected = false;
}
}
}
// 多选
if (index == k) {
items[k].selected = !items[k].selected;
}
}
}
}
if (value.singleConditionAndSingleSelect) {
// 完成条件
completed();
}
}