95 lines
3.2 KiB
JavaScript
95 lines
3.2 KiB
JavaScript
function getColumnValue(columnItem) {
|
||
if (typeof columnItem === 'object')
|
||
return columnItem.value;
|
||
return columnItem;
|
||
}
|
||
export function getStrictMatchedItemByValue(columns, value, single) {
|
||
if (single) {
|
||
value = [value];
|
||
}
|
||
var matchedValues = [];
|
||
var matchedColumn = [];
|
||
var index = null;
|
||
var _loop_1 = function (i) {
|
||
var column = columns[i];
|
||
var compareValue = (value || [])[i];
|
||
index = column.findIndex(function (c) {
|
||
var columnValue = getColumnValue(c);
|
||
return columnValue === compareValue;
|
||
});
|
||
matchedColumn[i] = column[index];
|
||
matchedValues[i] = getColumnValue(column[index]);
|
||
};
|
||
for (var i = 0; i < columns.length; i++) {
|
||
_loop_1(i);
|
||
}
|
||
return {
|
||
matchedColumn: single ? matchedColumn === null || matchedColumn === void 0 ? void 0 : matchedColumn[0] : matchedColumn,
|
||
matchedValues: single ? matchedValues === null || matchedValues === void 0 ? void 0 : matchedValues[0] : matchedValues,
|
||
};
|
||
}
|
||
// 如果找不到value对应的item项目,返回第一项
|
||
export function getMatchedItemByValue(columns, value, single) {
|
||
if (single) {
|
||
value = [value];
|
||
}
|
||
var matchedValues = [];
|
||
var matchedColumn = [];
|
||
var index = null;
|
||
var _loop_2 = function (i) {
|
||
var column = columns[i];
|
||
var compareValue = (value || [])[i];
|
||
if (compareValue === undefined || compareValue === null) {
|
||
index = 0;
|
||
}
|
||
else {
|
||
index = column.findIndex(function (c) {
|
||
var columnValue = getColumnValue(c);
|
||
return columnValue === compareValue;
|
||
});
|
||
if (index === -1) {
|
||
index = 0;
|
||
} // 没有找到, 默认选择第一个
|
||
}
|
||
matchedColumn[i] = column[index];
|
||
matchedValues[i] = getColumnValue(column[index]);
|
||
};
|
||
for (var i = 0; i < columns.length; i++) {
|
||
_loop_2(i);
|
||
}
|
||
return {
|
||
matchedColumn: single ? matchedColumn[0] : matchedColumn,
|
||
matchedValues: single ? matchedValues[0] : matchedValues,
|
||
};
|
||
}
|
||
export function getMatchedItemByIndex(columns, selectedIndex, single) {
|
||
var _a;
|
||
var matchedValues = [];
|
||
var matchedColumn = [];
|
||
var index = null;
|
||
for (var i = 0; i < columns.length; i++) {
|
||
var column = columns[i];
|
||
var compareValue = selectedIndex[i];
|
||
index = null;
|
||
if (compareValue === undefined || compareValue === null) {
|
||
index = 0;
|
||
}
|
||
else {
|
||
index = compareValue;
|
||
// 当column变化时, picker-view onChange 里抛出来的selectedIndex有可能不正确
|
||
if (((_a = columns === null || columns === void 0 ? void 0 : columns[i]) === null || _a === void 0 ? void 0 : _a[compareValue]) === undefined) {
|
||
index = 0;
|
||
}
|
||
if (index === -1) {
|
||
index = 0;
|
||
} // 没有找到, 默认选择第一个
|
||
}
|
||
matchedColumn[i] = column[index];
|
||
matchedValues[i] = getColumnValue(column[index]);
|
||
}
|
||
return {
|
||
matchedColumn: single ? matchedColumn[0] : matchedColumn,
|
||
matchedValues: single ? matchedValues[0] : matchedValues,
|
||
};
|
||
}
|