74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
|
/**
|
|||
|
*
|
|||
|
* @title 全选功能
|
|||
|
* @description 点击表格左列按钮即可选中,并且在选中的回调函数中能获取到选中的数据(未使用封装好的全选功能)
|
|||
|
*
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
import React, { Component } from 'react';
|
|||
|
import Table from '../../src';
|
|||
|
import multiSelect from "../../src/lib/multiSelect.js";
|
|||
|
import Checkbox from 'bee-checkbox';
|
|||
|
|
|||
|
const columns12 = [
|
|||
|
{
|
|||
|
title: "名字",
|
|||
|
dataIndex: "a",
|
|||
|
key: "a",
|
|||
|
width: 100
|
|||
|
},
|
|||
|
{
|
|||
|
title: "性别",
|
|||
|
dataIndex: "b",
|
|||
|
key: "b",
|
|||
|
width: 100
|
|||
|
},
|
|||
|
{
|
|||
|
title: "年龄",
|
|||
|
dataIndex: "c",
|
|||
|
key: "c",
|
|||
|
width: 200,
|
|||
|
sorter: (a, b) => a.c - b.c
|
|||
|
},
|
|||
|
{
|
|||
|
title: "武功级别",
|
|||
|
dataIndex: "d",
|
|||
|
key: "d"
|
|||
|
}
|
|||
|
];
|
|||
|
|
|||
|
const data12 = [
|
|||
|
{ a: "杨过", b: "男", c: 30,d:'内行', key: "2",_checked:true },
|
|||
|
{ a: "令狐冲", b: "男", c: 41,d:'大侠', key: "1" ,_checked:true},
|
|||
|
{ a: "郭靖", b: "男", c: 25,d:'大侠', key: "3" ,_checked:true}
|
|||
|
];
|
|||
|
//拼接成复杂功能的table组件不能在render中定义,需要像此例子声明在组件的外侧,不然操作state会导致功能出现异常
|
|||
|
let MultiSelectTable = multiSelect(Table, Checkbox);
|
|||
|
|
|||
|
class Demo12 extends Component {
|
|||
|
constructor(props) {
|
|||
|
super(props);
|
|||
|
this.state = {
|
|||
|
data: data12
|
|||
|
};
|
|||
|
}
|
|||
|
getSelectedDataFunc = data => {
|
|||
|
console.log(data);
|
|||
|
};
|
|||
|
|
|||
|
render() {
|
|||
|
let multiObj = {
|
|||
|
type: "checkbox"
|
|||
|
};
|
|||
|
return (
|
|||
|
<MultiSelectTable
|
|||
|
columns={columns12}
|
|||
|
data={data12}
|
|||
|
multiSelect={multiObj}
|
|||
|
getSelectedDataFunc={this.getSelectedDataFunc}/>
|
|||
|
);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
export default Demo12;
|