我有一个<Table/>
和<TableRow>
在里面,并在点击行,行保持高亮显示。我试过<TableRow disableTouchRipple={true}>
,但运气不好。我如何删除这个突出显示,即使它已被点击?
代码如下:
<Table>
<TableBody displayRowCheckbox={false}>
<TableRow>
<TableRowColumn>Row 1</TableRowColumn>
<TableRowColumn>Content 1</TableRowColumn>
</TableRow>
<TableRow>
<TableRowColumn>Row 2</TableRowColumn>
<TableRowColumn>Content 2</TableRowColumn>
</TableRow>
</TableBody>
</Table>
您可以设置表格(或其行)的"className",然后设置表格单元格的背景色为透明…
.table-no-highlight td {
background-color: transparent !important;
}
<div id="container"></div>
const { Table, TableHeader, TableBody, TableRow, RaisedButton, TableRowColumn, TableHeaderColumn, MuiThemeProvider, getMuiTheme } = MaterialUI;
class Example extends React.Component {
render() {
return (
<Table className="table-no-highlight">
<TableHeader>
<TableRow>
<TableHeaderColumn>ID</TableHeaderColumn>
<TableHeaderColumn>Name</TableHeaderColumn>
<TableHeaderColumn>Status</TableHeaderColumn>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableRowColumn>1</TableRowColumn>
<TableRowColumn>John Smith</TableRowColumn>
<TableRowColumn>Employed</TableRowColumn>
</TableRow>
<TableRow>
<TableRowColumn>2</TableRowColumn>
<TableRowColumn>Randal White</TableRowColumn>
<TableRowColumn>Unemployed</TableRowColumn>
</TableRow>
<TableRow>
<TableRowColumn>3</TableRowColumn>
<TableRowColumn>Stephanie Sanders</TableRowColumn>
<TableRowColumn>Employed</TableRowColumn>
</TableRow>
<TableRow>
<TableRowColumn>4</TableRowColumn>
<TableRowColumn>Steve Brown</TableRowColumn>
<TableRowColumn>Employed</TableRowColumn>
</TableRow>
</TableBody>
</Table>
);
}
}
const App = () => (
<MuiThemeProvider muiTheme={getMuiTheme()}>
<Example />
</MuiThemeProvider>
);
ReactDOM.render(
<App />,
document.getElementById('container')
);
参见https://jsfiddle.net/mzt8pvtu/1/
首先你必须安装Jquery。
npm install jquery
则在component中定义import。
import $ from jquery;
标识表行ID:
<TableRow id={data.bookingNumber} key={data.bookingNumber}>
要删除行,可以定义函数
handleAllowDeleteBooking() {
const { removeBooking, fetchBookingHistory, params, fetchBookingHistoryStore } = this.props
this.setState({
showDeleteDailog: false
})
removeBooking(this.state.bookingId)
$('#' + this.state.bookingId).remove()
}
使用selectable
道具禁用高亮显示,如下所示:
<Table selectable={false}>
<TableBody displayRowCheckbox={false}>
<TableRow>
<TableRowColumn>Row 1</TableRowColumn>
<TableRowColumn>Content 1</TableRowColumn>
</TableRow>
<TableRow>
<TableRowColumn>Row 2</TableRowColumn>
<TableRowColumn>Content 2</TableRowColumn>
</TableRow>
</TableBody>
</Table>