105 lines
2.4 KiB
JavaScript
105 lines
2.4 KiB
JavaScript
/**
|
|
*
|
|
* @title hover呼出操作栏
|
|
* @description
|
|
*/
|
|
|
|
import React, { Component } from "react";
|
|
import {Tooltip,Button,Popconfirm} from "tinper-bee";
|
|
import Table from "../../src";
|
|
|
|
const columns = [
|
|
{
|
|
title: "用户名", dataIndex: "a", key: "a", width: 80, className: "rowClassName",
|
|
fixed:'left',
|
|
render: (text, record, index) => {
|
|
return (
|
|
<Tooltip inverse overlay={text}>
|
|
<span tootip={text} style={{
|
|
display: "inline-block",
|
|
width: "60px",
|
|
textOverflow: "ellipsis",
|
|
overflow: "hidden",
|
|
whiteSpace: "nowrap",
|
|
verticalAlign: "middle",
|
|
}}>{text}</span>
|
|
</Tooltip>
|
|
);
|
|
}
|
|
},
|
|
{ id: "123", title: "性别", dataIndex: "b", key: "b", width: 100 },
|
|
{ title: "年龄", dataIndex: "c", key: "c", width: 300 },
|
|
{
|
|
title: "操作",
|
|
dataIndex: "d",
|
|
key: "d",
|
|
render(text, record, index) {
|
|
return (
|
|
<div style={{ position: 'relative' }} title={text} >
|
|
<Popconfirm trigger="click" placement="right" content={'这是第' + index + '行,内容为:' + text}>
|
|
<a href="javascript:;" tooltip={text} >
|
|
一些操作
|
|
</a>
|
|
</Popconfirm>
|
|
</div>
|
|
);
|
|
}
|
|
}
|
|
];
|
|
|
|
const data = [
|
|
{ a: "令狐冲", b: "男", c: 41, d: "操作", key: "1" },
|
|
{ a: "杨过叔叔的女儿黄蓉", b: "男", c: 67, d: "操作", key: "2" },
|
|
{ a: "郭靖", b: "男", c: 25, d: "操作", key: "3" }
|
|
];
|
|
|
|
class Demo35 extends Component {
|
|
|
|
constructor(props) {
|
|
super(props);
|
|
this.state = {
|
|
data: data,
|
|
selectedRowIndex: 0
|
|
}
|
|
}
|
|
|
|
delFun=()=>{
|
|
// console.log('click'+this.currentIndex);
|
|
let {data} = this.state;
|
|
data.splice(this.currentIndex,1);
|
|
this.setState({
|
|
data
|
|
});
|
|
}
|
|
onRowHover=(index,record)=>{
|
|
this.currentIndex = index;
|
|
this.currentRecord = record;
|
|
}
|
|
getHoverContent=()=>{
|
|
return <div className="opt-btns"><Button size="sm" onClick={this.delFun}>删除</Button> </div>
|
|
}
|
|
render() {
|
|
return (
|
|
|
|
<Table
|
|
columns={columns}
|
|
data={data}
|
|
parentNodeId='parent'
|
|
height={40}
|
|
headerHeight={40}
|
|
hoverContent={this.getHoverContent}
|
|
onRowHover={this.onRowHover}
|
|
onRowClick={(record, index, indent) => {
|
|
this.setState({
|
|
selectedRowIndex: index
|
|
});
|
|
}}
|
|
/>
|
|
|
|
|
|
);
|
|
}
|
|
}
|
|
|
|
export default Demo35;
|