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, singleRef) { if (singleRef.current) { 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: singleRef.current ? matchedColumn[0] : matchedColumn, matchedValues: singleRef.current ? 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.current ? matchedColumn[0] : matchedColumn, matchedValues: single.current ? matchedValues[0] : matchedValues, }; } export function getterColumns(options, singleRef) { var columns = []; if (options.length > 0) { if (options.every(function (item) { return Array.isArray(item); })) { singleRef.current = false; columns = options.slice(); } else { singleRef.current = true; columns = [options]; } } return columns; } export function defaultFormat(value, column) { if (Array.isArray(column)) { return column .filter(function (c) { return c !== undefined; }) .map(function (c) { if (typeof c === 'object') { return c.label; } return c; }) .join('-'); } return (column && column.label) || column || ''; } export function getterFormatText(columns, realValue, onFormat, singleRef) { var matchedColumn = getStrictMatchedItemByValue(columns, realValue, singleRef.current).matchedColumn; if (typeof onFormat === 'function') { var formatValueByProps = onFormat(realValue, matchedColumn); if (formatValueByProps !== undefined) { return formatValueByProps; } } return defaultFormat(realValue, matchedColumn); } export function getterSelectedIndex(columns, realValue, sinefileRef) { var selectedIndex = []; var value = realValue; if (sinefileRef.current) { value = [realValue]; } var _loop_3 = function (i) { var column = columns[i]; var compareValue = value[i]; if (compareValue === undefined || compareValue === null) { selectedIndex[i] = 0; } var index = column.findIndex(function (c) { return c === compareValue || c.value === compareValue; }); if (index === -1) { index = 0; } selectedIndex[i] = index; }; for (var i = 0; i < columns.length; i++) { _loop_3(i); } return selectedIndex; }