表头横向滚动条根据内容动态显示
This commit is contained in:
parent
6dd1140be4
commit
81f3a77733
|
@ -447,9 +447,17 @@ var Table = function (_Component) {
|
||||||
var bodyH = this.bodyTable.clientHeight;
|
var bodyH = this.bodyTable.clientHeight;
|
||||||
var bodyContentH = this.bodyTable.querySelector('table').clientHeight;
|
var bodyContentH = this.bodyTable.querySelector('table').clientHeight;
|
||||||
var rightBodyTable = this.refs.fixedColumnsBodyRight;
|
var rightBodyTable = this.refs.fixedColumnsBodyRight;
|
||||||
|
var leftBodyTable = this.refs.fixedColumnsBodyLeft;
|
||||||
var overflowy = bodyContentH <= bodyH ? 'auto' : 'scroll';
|
var overflowy = bodyContentH <= bodyH ? 'auto' : 'scroll';
|
||||||
this.bodyTable.style.overflowY = overflowy;
|
this.bodyTable.style.overflowY = overflowy;
|
||||||
|
|
||||||
this.refs.headTable.style.overflowY = overflowy;
|
this.refs.headTable.style.overflowY = overflowy;
|
||||||
|
// 没有纵向滚动条时,表头横向滚动条根据内容动态显示
|
||||||
|
if (overflowy == 'auto') {
|
||||||
|
this.refs.fixedHeadTable && (this.refs.fixedHeadTable.style.overflowX = 'auto');
|
||||||
|
rightBodyTable && (rightBodyTable.style.overflowX = 'auto');
|
||||||
|
leftBodyTable && (leftBodyTable.style.overflowX = 'auto');
|
||||||
|
}
|
||||||
rightBodyTable && (rightBodyTable.style.overflowY = overflowy);
|
rightBodyTable && (rightBodyTable.style.overflowY = overflowy);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1065,7 +1073,7 @@ var Table = function (_Component) {
|
||||||
'div',
|
'div',
|
||||||
{
|
{
|
||||||
className: clsPrefix + '-header',
|
className: clsPrefix + '-header',
|
||||||
ref: fixed ? null : 'headTable',
|
ref: fixed ? 'fixedHeadTable' : 'headTable',
|
||||||
style: headStyle,
|
style: headStyle,
|
||||||
onMouseOver: this.detectScrollTarget,
|
onMouseOver: this.detectScrollTarget,
|
||||||
onTouchStart: this.detectScrollTarget,
|
onTouchStart: this.detectScrollTarget,
|
||||||
|
|
|
@ -106,9 +106,9 @@ function sum(Table) {
|
||||||
return _this;
|
return _this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前的表格类型。
|
* 获取当前的表格类型。
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
Object.defineProperty(exports, "__esModule", {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||||
|
@ -9,71 +9,71 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
|
||||||
exports.sortBy = sortBy;
|
exports.sortBy = sortBy;
|
||||||
exports.compare = compare;
|
exports.compare = compare;
|
||||||
exports.ObjectAssign = ObjectAssign;
|
exports.ObjectAssign = ObjectAssign;
|
||||||
/*
|
/*
|
||||||
* 快速排序,按某个属性,或按“获取排序依据的函数”,来排序.
|
* 快速排序,按某个属性,或按“获取排序依据的函数”,来排序.
|
||||||
* @method soryBy
|
* @method soryBy
|
||||||
* @static
|
* @static
|
||||||
* @param {array} arr 待处理数组
|
* @param {array} arr 待处理数组
|
||||||
* @param {string|function} prop 排序依据属性,获取
|
* @param {string|function} prop 排序依据属性,获取
|
||||||
* @param {boolean} desc 降序
|
* @param {boolean} desc 降序
|
||||||
* @return {array} 返回排序后的新数组
|
* @return {array} 返回排序后的新数组
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function sortBy(arr, prop, desc) {
|
function sortBy(arr, prop, desc) {
|
||||||
var props = [],
|
var props = [],
|
||||||
ret = [],
|
ret = [],
|
||||||
i = 0,
|
i = 0,
|
||||||
len = arr.length;
|
len = arr.length;
|
||||||
if (typeof prop == 'string') {
|
if (typeof prop == 'string') {
|
||||||
for (; i < len; i++) {
|
for (; i < len; i++) {
|
||||||
var oI = arr[i];
|
var oI = arr[i];
|
||||||
(props[i] = new String(oI && oI[prop] || ''))._obj = oI;
|
(props[i] = new String(oI && oI[prop] || ''))._obj = oI;
|
||||||
|
}
|
||||||
|
} else if (typeof prop == 'function') {
|
||||||
|
for (; i < len; i++) {
|
||||||
|
var _oI = arr[i];
|
||||||
|
(props[i] = new String(_oI && prop(_oI) || ''))._obj = _oI;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw '参数类型错误';
|
||||||
}
|
}
|
||||||
} else if (typeof prop == 'function') {
|
props.sort();
|
||||||
for (; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
var _oI = arr[i];
|
ret[i] = props[i]._obj;
|
||||||
(props[i] = new String(_oI && prop(_oI) || ''))._obj = _oI;
|
|
||||||
}
|
}
|
||||||
} else {
|
if (desc) ret.reverse();
|
||||||
throw '参数类型错误';
|
return ret;
|
||||||
}
|
|
||||||
props.sort();
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
ret[i] = props[i]._obj;
|
|
||||||
}
|
|
||||||
if (desc) ret.reverse();
|
|
||||||
return ret;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数组对象排序
|
* 数组对象排序
|
||||||
* console.log(arr.sort(compare('age')))
|
* console.log(arr.sort(compare('age')))
|
||||||
* @param {} property
|
* @param {} property
|
||||||
*/
|
*/
|
||||||
function compare(property) {
|
function compare(property) {
|
||||||
return function (a, b) {
|
return function (a, b) {
|
||||||
var value1 = a[property];
|
var value1 = a[property];
|
||||||
var value2 = b[property];
|
var value2 = b[property];
|
||||||
return value1 - value2;
|
return value1 - value2;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 简单数组数据对象拷贝
|
* 简单数组数据对象拷贝
|
||||||
* @param {*} obj 要拷贝的对象
|
* @param {*} obj 要拷贝的对象
|
||||||
*/
|
*/
|
||||||
function ObjectAssign(obj) {
|
function ObjectAssign(obj) {
|
||||||
var b = obj instanceof Array;
|
var b = obj instanceof Array;
|
||||||
var tagObj = b ? [] : {};
|
var tagObj = b ? [] : {};
|
||||||
if (b) {
|
if (b) {
|
||||||
//数组
|
//数组
|
||||||
obj.forEach(function (da) {
|
obj.forEach(function (da) {
|
||||||
var _da = {};
|
var _da = {};
|
||||||
_extends(_da, da);
|
_extends(_da, da);
|
||||||
tagObj.push(_da);
|
tagObj.push(_da);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
_extends(tagObj, obj);
|
_extends(tagObj, obj);
|
||||||
}
|
}
|
||||||
return tagObj;
|
return tagObj;
|
||||||
}
|
}
|
|
@ -19,11 +19,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
|
||||||
|
|
||||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 渲染checkbox
|
* 渲染checkbox
|
||||||
* @param Checkbox
|
* @param Checkbox
|
||||||
* @param Icon
|
* @param Icon
|
||||||
* @returns {CheckboxRender}
|
* @returns {CheckboxRender}
|
||||||
*/
|
*/
|
||||||
function renderCheckbox(Checkbox, Icon) {
|
function renderCheckbox(Checkbox, Icon) {
|
||||||
return function (_Component) {
|
return function (_Component) {
|
||||||
|
|
|
@ -28,12 +28,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
|
||||||
|
|
||||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 渲染输入框
|
* 渲染输入框
|
||||||
* @param Form
|
* @param Form
|
||||||
* @param Input
|
* @param Input
|
||||||
* @param Icon
|
* @param Icon
|
||||||
* @returns {InputRender}
|
* @returns {InputRender}
|
||||||
*/
|
*/
|
||||||
function renderInput(Form, Input, Icon) {
|
function renderInput(Form, Input, Icon) {
|
||||||
var _class, _temp2;
|
var _class, _temp2;
|
||||||
|
|
|
@ -26,11 +26,11 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
|
||||||
|
|
||||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 渲染下拉框
|
* 渲染下拉框
|
||||||
* @param Select
|
* @param Select
|
||||||
* @param Icon
|
* @param Icon
|
||||||
* @returns {SelectRender}
|
* @returns {SelectRender}
|
||||||
*/
|
*/
|
||||||
function renderSelect(Select, Icon) {
|
function renderSelect(Select, Icon) {
|
||||||
var _class, _temp2;
|
var _class, _temp2;
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
11
src/Table.js
11
src/Table.js
|
@ -303,10 +303,19 @@ class Table extends Component {
|
||||||
const bodyH = this.bodyTable.clientHeight;
|
const bodyH = this.bodyTable.clientHeight;
|
||||||
const bodyContentH = this.bodyTable.querySelector('table').clientHeight;
|
const bodyContentH = this.bodyTable.querySelector('table').clientHeight;
|
||||||
const rightBodyTable = this.refs.fixedColumnsBodyRight;
|
const rightBodyTable = this.refs.fixedColumnsBodyRight;
|
||||||
|
const leftBodyTable = this.refs.fixedColumnsBodyLeft;
|
||||||
const overflowy = bodyContentH <= bodyH ? 'auto':'scroll';
|
const overflowy = bodyContentH <= bodyH ? 'auto':'scroll';
|
||||||
this.bodyTable.style.overflowY = overflowy;
|
this.bodyTable.style.overflowY = overflowy;
|
||||||
|
|
||||||
this.refs.headTable.style.overflowY = overflowy;
|
this.refs.headTable.style.overflowY = overflowy;
|
||||||
rightBodyTable && (rightBodyTable.style.overflowY = overflowy);
|
rightBodyTable && (rightBodyTable.style.overflowY = overflowy);
|
||||||
|
// 没有纵向滚动条时,表头横向滚动条根据内容动态显示 待验证
|
||||||
|
// if(overflowy == 'auto'){
|
||||||
|
// this.refs.fixedHeadTable && (this.refs.fixedHeadTable.style.overflowX = 'auto');
|
||||||
|
// rightBodyTable && (rightBodyTable.style.overflowX = 'auto');
|
||||||
|
// leftBodyTable && (leftBodyTable.style.overflowX = 'auto');
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -915,7 +924,7 @@ class Table extends Component {
|
||||||
headTable = (
|
headTable = (
|
||||||
<div
|
<div
|
||||||
className={`${clsPrefix}-header`}
|
className={`${clsPrefix}-header`}
|
||||||
ref={fixed ? null : 'headTable'}
|
ref={fixed ? 'fixedHeadTable' : 'headTable'}
|
||||||
style={headStyle}
|
style={headStyle}
|
||||||
onMouseOver={this.detectScrollTarget}
|
onMouseOver={this.detectScrollTarget}
|
||||||
onTouchStart={this.detectScrollTarget}
|
onTouchStart={this.detectScrollTarget}
|
||||||
|
|
Loading…
Reference in New Issue