@uiw/react-native
Version:
UIW for React Native
105 lines (95 loc) • 10.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _BodyRow = _interopRequireDefault(require("./BodyRow"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// table组件
const Table = ({
data,
columns,
rowKey
}) => {
const getRowKey = record => {
const key = typeof rowKey === 'function' ? rowKey(record) : record && record[rowKey];
return key;
};
return <_reactNative.View style={styles.conW}>
<_reactNative.View style={styles.conTitle}>
{columns.map((itm, idx) => <_reactNative.View key={itm.dataIndex + idx} style={[styles.contRight, {
borderRightWidth: idx === columns.length - 1 ? 0 : 1
}, itm.style]}>
<_reactNative.Text style={styles.content}>{itm.title}</_reactNative.Text>
</_reactNative.View>)}
</_reactNative.View>
{data.map((item, idx) => {
const key = getRowKey(item);
return <_BodyRow.default key={key} columns={columns} record={item} style={{
borderBottomWidth: idx === data.length - 1 ? 0 : 1
}} />;
})}
{data.length === 0 && <_reactNative.Text style={styles.noDataText}>暂无数据...</_reactNative.Text>}
</_reactNative.View>;
};
const styles = _reactNative.StyleSheet.create({
title: {
backgroundColor: '#fff',
height: 30
},
conTitle: {
flexDirection: 'row',
borderBottomWidth: 1,
borderColor: '#E5E5E5'
},
content: {
color: '#888888'
},
conn: {
flexDirection: 'row',
borderBottomWidth: 1,
borderColor: '#E5E5E5'
},
contRight: {
borderRightWidth: 1,
flex: 1,
borderRightColor: '#E5E5E5',
borderBottomColor: '#E5E5E5',
color: '#888888',
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
paddingTop: 5,
paddingBottom: 5
},
conW: {
borderTopLeftRadius: 5,
borderTopRightRadius: 5,
// overflow: 'hidden',
borderWidth: 1,
borderTopWidth: 0,
borderColor: '#E5E5E5',
// marginTop: 10,
width: _reactNative.Dimensions.get('window').width,
backgroundColor: '#fff' // marginBottom: 20
},
noDataText: {
color: '#888888',
textAlign: 'center',
paddingTop: 4,
paddingBottom: 4
},
row: {
flex: 1,
flexDirection: 'row',
justifyContent: 'center',
borderBottomWidth: 1,
borderColor: '#E5E5E5'
}
});
var _default = Table;
exports.default = _default;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UYWJsZS9pbmRleC50c3giXSwibmFtZXMiOlsiVGFibGUiLCJkYXRhIiwiY29sdW1ucyIsInJvd0tleSIsImdldFJvd0tleSIsInJlY29yZCIsImtleSIsInN0eWxlcyIsImNvblciLCJjb25UaXRsZSIsIm1hcCIsIml0bSIsImlkeCIsImRhdGFJbmRleCIsImNvbnRSaWdodCIsImJvcmRlclJpZ2h0V2lkdGgiLCJsZW5ndGgiLCJzdHlsZSIsImNvbnRlbnQiLCJ0aXRsZSIsIml0ZW0iLCJib3JkZXJCb3R0b21XaWR0aCIsIm5vRGF0YVRleHQiLCJTdHlsZVNoZWV0IiwiY3JlYXRlIiwiYmFja2dyb3VuZENvbG9yIiwiaGVpZ2h0IiwiZmxleERpcmVjdGlvbiIsImJvcmRlckNvbG9yIiwiY29sb3IiLCJjb25uIiwiZmxleCIsImJvcmRlclJpZ2h0Q29sb3IiLCJib3JkZXJCb3R0b21Db2xvciIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyV2lkdGgiLCJib3JkZXJUb3BXaWR0aCIsIndpZHRoIiwiRGltZW5zaW9ucyIsImdldCIsInRleHRBbGlnbiIsInJvdyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7O0FBZUE7QUFDQSxNQUFNQSxLQUFLLEdBQUcsQ0FBQztBQUFFQyxFQUFBQSxJQUFGO0FBQVFDLEVBQUFBLE9BQVI7QUFBaUJDLEVBQUFBO0FBQWpCLENBQUQsS0FBMkM7QUFDdkQsUUFBTUMsU0FBa0MsR0FBSUMsTUFBRCxJQUFZO0FBQ3JELFVBQU1DLEdBQUcsR0FBRyxPQUFPSCxNQUFQLEtBQWtCLFVBQWxCLEdBQStCQSxNQUFNLENBQUNFLE1BQUQsQ0FBckMsR0FBZ0RBLE1BQU0sSUFBSUEsTUFBTSxDQUFDRixNQUFELENBQTVFO0FBQ0EsV0FBT0csR0FBUDtBQUNELEdBSEQ7O0FBS0EsU0FDRSxtQkFBTSxNQUFNLENBQUNDLE1BQU0sQ0FBQ0MsSUFBUixDQUFaO0FBQ0osTUFBTSxtQkFBTSxNQUFNLENBQUNELE1BQU0sQ0FBQ0UsUUFBUixDQUFaO0FBQ04sUUFBUSxDQUFDUCxPQUFPLENBQUNRLEdBQVIsQ0FBWSxDQUFDQyxHQUFELEVBQU1DLEdBQU4sS0FDWCxtQkFDRSxJQUFJLENBQUNELEdBQUcsQ0FBQ0UsU0FBSixHQUFnQkQsR0FBakIsQ0FETixDQUVFLE1BQU0sQ0FBQyxDQUFDTCxNQUFNLENBQUNPLFNBQVIsRUFBbUI7QUFBRUMsUUFBQUEsZ0JBQWdCLEVBQUVILEdBQUcsS0FBS1YsT0FBTyxDQUFDYyxNQUFSLEdBQWlCLENBQXpCLEdBQTZCLENBQTdCLEdBQWlDO0FBQXJELE9BQW5CLEVBQTZFTCxHQUFHLENBQUNNLEtBQWpGLENBQUQsQ0FGUjtBQUlWLFlBQVksbUJBQU0sTUFBTSxDQUFDVixNQUFNLENBQUNXLE9BQVIsQ0FBWixDQUE2QixDQUFDUCxHQUFHLENBQUNRLEtBQUwsQ0FBVztBQUNwRCxVQUFVLG9CQU5ELENBQUQ7QUFRUixNQUFNO0FBQ04sTUFBTSxDQUFDbEIsSUFBSSxDQUFDUyxHQUFMLENBQVMsQ0FBQ1UsSUFBRCxFQUFPUixHQUFQLEtBQWU7QUFDdkIsWUFBTU4sR0FBRyxHQUFHRixTQUFTLENBQUNnQixJQUFELENBQXJCO0FBQ0EsYUFDRSxrQkFDRSxJQUFJLENBQUNkLEdBQUQsQ0FETixDQUVFLFFBQVEsQ0FBQ0osT0FBRCxDQUZWLENBR0UsT0FBTyxDQUFDa0IsSUFBRCxDQUhULENBSUUsTUFBTSxDQUFDO0FBQUVDLFFBQUFBLGlCQUFpQixFQUFFVCxHQUFHLEtBQUtYLElBQUksQ0FBQ2UsTUFBTCxHQUFjLENBQXRCLEdBQTBCLENBQTFCLEdBQThCO0FBQW5ELE9BQUQsQ0FKUixHQURGO0FBUUQsS0FWQSxDQUFEO0FBV04sTUFBTSxDQUFDZixJQUFJLENBQUNlLE1BQUwsS0FBZ0IsQ0FBaEIsSUFBcUIsbUJBQU0sTUFBTSxDQUFDVCxNQUFNLENBQUNlLFVBQVIsQ0FBWixDQUFnQyxPQUFPLG9CQUE3RDtBQUNOLElBQUksb0JBeEJGO0FBMEJELENBaENEOztBQWtDQSxNQUFNZixNQUFNLEdBQUdnQix3QkFBV0MsTUFBWCxDQUFrQjtBQUMvQkwsRUFBQUEsS0FBSyxFQUFFO0FBQ0xNLElBQUFBLGVBQWUsRUFBRSxNQURaO0FBRUxDLElBQUFBLE1BQU0sRUFBRTtBQUZILEdBRHdCO0FBSy9CakIsRUFBQUEsUUFBUSxFQUFFO0FBQ1JrQixJQUFBQSxhQUFhLEVBQUUsS0FEUDtBQUVSTixJQUFBQSxpQkFBaUIsRUFBRSxDQUZYO0FBR1JPLElBQUFBLFdBQVcsRUFBRTtBQUhMLEdBTHFCO0FBVS9CVixFQUFBQSxPQUFPLEVBQUU7QUFDUFcsSUFBQUEsS0FBSyxFQUFFO0FBREEsR0FWc0I7QUFhL0JDLEVBQUFBLElBQUksRUFBRTtBQUNKSCxJQUFBQSxhQUFhLEVBQUUsS0FEWDtBQUVKTixJQUFBQSxpQkFBaUIsRUFBRSxDQUZmO0FBR0pPLElBQUFBLFdBQVcsRUFBRTtBQUhULEdBYnlCO0FBbUIvQmQsRUFBQUEsU0FBUyxFQUFFO0FBQ1RDLElBQUFBLGdCQUFnQixFQUFFLENBRFQ7QUFFVGdCLElBQUFBLElBQUksRUFBRSxDQUZHO0FBR1RDLElBQUFBLGdCQUFnQixFQUFFLFNBSFQ7QUFJVEMsSUFBQUEsaUJBQWlCLEVBQUUsU0FKVjtBQUtUSixJQUFBQSxLQUFLLEVBQUUsU0FMRTtBQU1URixJQUFBQSxhQUFhLEVBQUUsS0FOTjtBQU9UTyxJQUFBQSxVQUFVLEVBQUUsUUFQSDtBQVFUQyxJQUFBQSxjQUFjLEVBQUUsUUFSUDtBQVNUQyxJQUFBQSxVQUFVLEVBQUUsQ0FUSDtBQVVUQyxJQUFBQSxhQUFhLEVBQUU7QUFWTixHQW5Cb0I7QUErQi9CN0IsRUFBQUEsSUFBSSxFQUFFO0FBQ0o4QixJQUFBQSxtQkFBbUIsRUFBRSxDQURqQjtBQUVKQyxJQUFBQSxvQkFBb0IsRUFBRSxDQUZsQjtBQUdKO0FBQ0FDLElBQUFBLFdBQVcsRUFBRSxDQUpUO0FBS0pDLElBQUFBLGNBQWMsRUFBRSxDQUxaO0FBTUpiLElBQUFBLFdBQVcsRUFBRSxTQU5UO0FBT0o7QUFDQWMsSUFBQUEsS0FBSyxFQUFFQyx3QkFBV0MsR0FBWCxDQUFlLFFBQWYsRUFBeUJGLEtBUjVCO0FBU0pqQixJQUFBQSxlQUFlLEVBQUUsTUFUYixDQVVKOztBQVZJLEdBL0J5QjtBQTJDL0JILEVBQUFBLFVBQVUsRUFBRTtBQUNWTyxJQUFBQSxLQUFLLEVBQUUsU0FERztBQUVWZ0IsSUFBQUEsU0FBUyxFQUFFLFFBRkQ7QUFHVlQsSUFBQUEsVUFBVSxFQUFFLENBSEY7QUFJVkMsSUFBQUEsYUFBYSxFQUFFO0FBSkwsR0EzQ21CO0FBaUQvQlMsRUFBQUEsR0FBRyxFQUFFO0FBQ0hmLElBQUFBLElBQUksRUFBRSxDQURIO0FBRUhKLElBQUFBLGFBQWEsRUFBRSxLQUZaO0FBR0hRLElBQUFBLGNBQWMsRUFBRSxRQUhiO0FBSUhkLElBQUFBLGlCQUFpQixFQUFFLENBSmhCO0FBS0hPLElBQUFBLFdBQVcsRUFBRTtBQUxWO0FBakQwQixDQUFsQixDQUFmOztlQTBEZTVCLEsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVmlldywgVGV4dCwgU3R5bGVTaGVldCwgRGltZW5zaW9ucyB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5pbXBvcnQgQm9keVJvdyBmcm9tICcuL0JvZHlSb3cnO1xuXG5pbnRlcmZhY2UgVGFibGVQcm9wcyB7XG4gIGRhdGE6IEFycmF5PE9iamVjdD47XG4gIGNvbHVtbnM6IEFycmF5PGNvbHVtbnNTdGF0ZT47XG4gIHJvd0tleTogYW55O1xufVxuXG5pbnRlcmZhY2UgY29sdW1uc1N0YXRlIHtcbiAgZGF0YUluZGV4OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN0eWxlPzogT2JqZWN0O1xuICByZW5kZXI/OiAocmVjb3JkOiBhbnkpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZWxsaXBzaXM/OiBib29sZWFuO1xufVxuLy8gdGFibGXnu4Tku7ZcbmNvbnN0IFRhYmxlID0gKHsgZGF0YSwgY29sdW1ucywgcm93S2V5IH06IFRhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgZ2V0Um93S2V5OiAocmVjb3JkOiBhbnkpID0+IHN0cmluZyA9IChyZWNvcmQpID0+IHtcbiAgICBjb25zdCBrZXkgPSB0eXBlb2Ygcm93S2V5ID09PSAnZnVuY3Rpb24nID8gcm93S2V5KHJlY29yZCkgOiByZWNvcmQgJiYgcmVjb3JkW3Jvd0tleV07XG4gICAgcmV0dXJuIGtleTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuY29uV30+XG4gICAgICA8VmlldyBzdHlsZT17c3R5bGVzLmNvblRpdGxlfT5cbiAgICAgICAge2NvbHVtbnMubWFwKChpdG0sIGlkeCkgPT4gKFxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBrZXk9e2l0bS5kYXRhSW5kZXggKyBpZHh9XG4gICAgICAgICAgICBzdHlsZT17W3N0eWxlcy5jb250UmlnaHQsIHsgYm9yZGVyUmlnaHRXaWR0aDogaWR4ID09PSBjb2x1bW5zLmxlbmd0aCAtIDEgPyAwIDogMSB9LCBpdG0uc3R5bGVdfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0IHN0eWxlPXtzdHlsZXMuY29udGVudH0+e2l0bS50aXRsZX08L1RleHQ+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICApKX1cbiAgICAgIDwvVmlldz5cbiAgICAgIHtkYXRhLm1hcCgoaXRlbSwgaWR4KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGdldFJvd0tleShpdGVtKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8Qm9keVJvd1xuICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgICAgcmVjb3JkPXtpdGVtfVxuICAgICAgICAgICAgc3R5bGU9e3sgYm9yZGVyQm90dG9tV2lkdGg6IGlkeCA9PT0gZGF0YS5sZW5ndGggLSAxID8gMCA6IDEgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgICB7ZGF0YS5sZW5ndGggPT09IDAgJiYgPFRleHQgc3R5bGU9e3N0eWxlcy5ub0RhdGFUZXh0fT7mmoLml6DmlbDmja4uLi48L1RleHQ+fVxuICAgIDwvVmlldz5cbiAgKTtcbn07XG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgdGl0bGU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyxcbiAgICBoZWlnaHQ6IDMwLFxuICB9LFxuICBjb25UaXRsZToge1xuICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgIGJvcmRlckJvdHRvbVdpZHRoOiAxLFxuICAgIGJvcmRlckNvbG9yOiAnI0U1RTVFNScsXG4gIH0sXG4gIGNvbnRlbnQ6IHtcbiAgICBjb2xvcjogJyM4ODg4ODgnLFxuICB9LFxuICBjb25uOiB7XG4gICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgYm9yZGVyQm90dG9tV2lkdGg6IDEsXG4gICAgYm9yZGVyQ29sb3I6ICcjRTVFNUU1JyxcbiAgfSxcblxuICBjb250UmlnaHQ6IHtcbiAgICBib3JkZXJSaWdodFdpZHRoOiAxLFxuICAgIGZsZXg6IDEsXG4gICAgYm9yZGVyUmlnaHRDb2xvcjogJyNFNUU1RTUnLFxuICAgIGJvcmRlckJvdHRvbUNvbG9yOiAnI0U1RTVFNScsXG4gICAgY29sb3I6ICcjODg4ODg4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgcGFkZGluZ1RvcDogNSxcbiAgICBwYWRkaW5nQm90dG9tOiA1LFxuICB9LFxuICBjb25XOiB7XG4gICAgYm9yZGVyVG9wTGVmdFJhZGl1czogNSxcbiAgICBib3JkZXJUb3BSaWdodFJhZGl1czogNSxcbiAgICAvLyBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgYm9yZGVyVG9wV2lkdGg6IDAsXG4gICAgYm9yZGVyQ29sb3I6ICcjRTVFNUU1JyxcbiAgICAvLyBtYXJnaW5Ub3A6IDEwLFxuICAgIHdpZHRoOiBEaW1lbnNpb25zLmdldCgnd2luZG93Jykud2lkdGgsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicsXG4gICAgLy8gbWFyZ2luQm90dG9tOiAyMFxuICB9LFxuICBub0RhdGFUZXh0OiB7XG4gICAgY29sb3I6ICcjODg4ODg4JyxcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIHBhZGRpbmdUb3A6IDQsXG4gICAgcGFkZGluZ0JvdHRvbTogNCxcbiAgfSxcbiAgcm93OiB7XG4gICAgZmxleDogMSxcbiAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgYm9yZGVyQm90dG9tV2lkdGg6IDEsXG4gICAgYm9yZGVyQ29sb3I6ICcjRTVFNUU1JyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBUYWJsZTtcbiJdfQ==