diff --git a/build/Table.js b/build/Table.js
index d4af821..391b34c 100644
--- a/build/Table.js
+++ b/build/Table.js
@@ -113,7 +113,8 @@ var propTypes = {
hoverContent: _propTypes2["default"].func,
size: _propTypes2["default"].oneOf(['sm', 'md', 'lg']),
rowDraggAble: _propTypes2["default"].bool,
- onDropRow: _propTypes2["default"].func
+ onDropRow: _propTypes2["default"].func,
+ onDragRowStart: _propTypes2["default"].func
};
var defaultProps = {
@@ -159,7 +160,8 @@ var defaultProps = {
heightConsistent: false,
size: 'md',
rowDraggAble: false,
- onDropRow: function onDropRow() {}
+ onDropRow: function onDropRow() {},
+ onDragRowStart: function onDragRowStart() {}
};
var Table = function (_Component) {
@@ -189,6 +191,21 @@ var Table = function (_Component) {
_this.contentTable.appendChild(div);
};
+ _this.onDragRowStart = function (currentKey) {
+ var data = _this.state.data,
+ currentIndex = void 0,
+ record = void 0;
+ data.forEach(function (da, i) {
+ // tr 的唯一标识通过 data.key 或 rowKey 两种方式传进来
+ var trKey = da.key ? da.key : _this.getRowKey(da, i);
+ if (trKey == currentKey) {
+ currentIndex = i;
+ record = da;
+ }
+ });
+ _this.props.onDragRowStart && _this.props.onDragRowStart(record, currentIndex);
+ };
+
_this.onDragRow = function (currentKey, targetKey) {
var data = _this.state.data,
currentIndex = void 0,
@@ -728,10 +745,17 @@ var Table = function (_Component) {
store: this.store,
dragborderKey: this.props.dragborderKey,
rowDraggAble: this.props.rowDraggAble,
- onDragRow: this.onDragRow
+ onDragRow: this.onDragRow,
+ onDragRowStart: this.onDragRowStart
});
};
+ /**
+ * 行拖拽开始时触发
+ * @param currentKey 当前拖拽目标的key
+ */
+
+
/**
* 行拖拽结束时触发
* @param currentKey 当前拖拽目标的key
@@ -882,6 +906,7 @@ var Table = function (_Component) {
bodyDisplayInRow: props.bodyDisplayInRow,
rowDraggAble: this.props.rowDraggAble,
onDragRow: this.onDragRow,
+ onDragRowStart: this.onDragRowStart,
contentTable: this.contentTable,
tableUid: this.tableUid,
expandedIcon: props.expandedIcon,
diff --git a/build/TableRow.js b/build/TableRow.js
index 0582014..708739c 100644
--- a/build/TableRow.js
+++ b/build/TableRow.js
@@ -56,7 +56,8 @@ var propTypes = {
expandRowByClick: _propTypes2["default"].bool,
store: _propTypes2["default"].object.isRequired,
rowDraggAble: _propTypes2["default"].bool,
- onDragRow: _propTypes2["default"].func
+ onDragRow: _propTypes2["default"].func,
+ onDragRowStart: _propTypes2["default"].func
};
var defaultProps = {
@@ -107,6 +108,8 @@ var TableRow = function (_Component) {
};
_this.onDragStart = function (e) {
+ var onDragRowStart = _this.props.onDragRowStart;
+
if (!_this.props.rowDraggAble) return;
var event = _utils.Event.getEvent(e),
target = _utils.Event.getTarget(event);
@@ -119,6 +122,8 @@ var TableRow = function (_Component) {
// event.dataTransfer.setDragImage(crt, 0, 0);
event.dataTransfer.effectAllowed = "move";
event.dataTransfer.setData("Text", _this.currentIndex);
+
+ onDragRowStart && onDragRowStart(_this.currentIndex);
};
_this.onDragOver = function (e) {
@@ -155,10 +160,14 @@ var TableRow = function (_Component) {
};
_this.onTouchStart = function (e) {
+ var onDragRowStart = _this.props.onDragRowStart;
+
var event = _utils.Event.getEvent(e),
_target = _utils.Event.getTarget(event),
target = _target.parentNode;
_this.currentIndex = target.getAttribute("data-row-key");
+
+ onDragRowStart && onDragRowStart(_this.currentIndex);
};
_this.onTouchMove = function (e) {
diff --git a/demo/demolist/Demo1201.js b/demo/demolist/Demo1201.js
index 2f35234..5c31298 100644
--- a/demo/demolist/Demo1201.js
+++ b/demo/demolist/Demo1201.js
@@ -42,6 +42,16 @@ class Demo1201 extends Component {
console.log('内容:' , this.currentRecord);
}
+ /**
+ * 行拖拽开始时触发
+ * @param record 拖拽行的数据
+ * @param index 拖拽行的下标序号
+ */
+ onDragRowStart = (record,index) => {
+ console.log('拖拽的行数据:', record);
+ console.log('拖拽的行序号:', index);
+ }
+
/**
* 行拖拽结束时触发
* @param data 拖拽改变顺序后的新data数组
@@ -58,6 +68,7 @@ class Demo1201 extends Component {
columns={columns}
data={data}
rowDraggAble={true}
+ onDragRowStart={this.onDragRowStart}
onDropRow={this.onDropRow}
/>
);
diff --git a/demo/index.js b/demo/index.js
index 97a58c7..1bcb431 100644
--- a/demo/index.js
+++ b/demo/index.js
@@ -8,7 +8,7 @@ import Button from '../src';
-var Demo0101 = require("./demolist/Demo0101");var Demo0102 = require("./demolist/Demo0102");var Demo0103 = require("./demolist/Demo0103");var Demo0104 = require("./demolist/Demo0104");var Demo0105 = require("./demolist/Demo0105");var Demo0106 = require("./demolist/Demo0106");var Demo0107 = require("./demolist/Demo0107");var Demo0201 = require("./demolist/Demo0201");var Demo0202 = require("./demolist/Demo0202");var Demo0301 = require("./demolist/Demo0301");var Demo0302 = require("./demolist/Demo0302");var Demo0402 = require("./demolist/Demo0402");var Demo0404 = require("./demolist/Demo0404");var Demo0405 = require("./demolist/Demo0405");var Demo0501 = require("./demolist/Demo0501");var Demo0502 = require("./demolist/Demo0502");var Demo0503 = require("./demolist/Demo0503");var Demo0505 = require("./demolist/Demo0505");var Demo0601 = require("./demolist/Demo0601");var Demo0602 = require("./demolist/Demo0602");var Demo0603 = require("./demolist/Demo0603");var Demo0701 = require("./demolist/Demo0701");var Demo0702 = require("./demolist/Demo0702");var Demo0802 = require("./demolist/Demo0802");var Demo0901 = require("./demolist/Demo0901");var Demo0902 = require("./demolist/Demo0902");var Demo0903 = require("./demolist/Demo0903");var Demo1001 = require("./demolist/Demo1001");var Demo1002 = require("./demolist/Demo1002");var Demo1101 = require("./demolist/Demo1101");var Demo1102 = require("./demolist/Demo1102");var Demo1103 = require("./demolist/Demo1103");var Demo1105 = require("./demolist/Demo1105");var Demo1106 = require("./demolist/Demo1106");var Demo1107 = require("./demolist/Demo1107");var Demo1108 = require("./demolist/Demo1108");var Demo1201 = require("./demolist/Demo1201");var Demo1301 = require("./demolist/Demo1301");var Demo1302 = require("./demolist/Demo1302");var Demo1401 = require("./demolist/Demo1401");var Demo1402 = require("./demolist/Demo1402");var Demo1403 = require("./demolist/Demo1403");var Demo1404 = require("./demolist/Demo1404");var Demo1601 = require("./demolist/Demo1601");var DemoArray = [{"example":
{ title }
\n{ desc }
\n 查看源码 \n\n { code }
\n
\n {!!scss_code ?\n { scss_code }
\n
: null }\n