- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在使用 react-table在我的申请中。
我一直在做一件事,即在调整列大小时更改 columns
的 CSS
。
目前,当您调整
列时,只有光标
发生变化。我想要的是将 border
添加到 selected column
。
我也在 SO
和 google
上搜索过这个。但是找不到任何有用的东西。并且在文档中也没有提及此主题。
更新
现在我可以在调整大小时拖动列的同时添加边框。我可以通过添加和删除类来做到这一点。
我为此做了什么:
在 className 的状态下创建了一个 var:
this.state = {
addBorder: null
}
在我的专栏中传递了这个类名:
const columns = [{
Header: 'Name',
accessor: 'name', // String-based value accessors!,
headerClassName: this.state.addBorder,
className: this.state.addBorder
}, {
Header: 'Age',
accessor: 'age',
Cell: props => <span className='number'>{2}</span> // Custom cell components!
}, {
id: 'friendName', // Required because our accessor is not a string
Header: 'Friend Name',
accessor: d => d.friend.name // Custom value accessors!
}, {
Header: props => <span>Friend Age</span>, // Custom header components!
accessor: 'friend.age'
}];
return (
<div onMouseUp={this.handleMouseUp}>
<ReactTable
data={data}
columns={columns}
resizable={true}
onResizedChange={(col, e) => {
const column = col[col.length-1];
this.setState({addBorder: column.id})
}} />
</div>
)
}
拖动结束时删除类:
handleMouseUp (e) {
this.setState({addBorder: null});
}
But I am still not able to add border on hover.
现在,我将在 header Prop 中发送我的自定义 HTML。在我的 HTML 中,我做了一个额外的 div。我把这个 div 移到了右边。悬停在这个 div 上时,我将发出鼠标事件并相应地更改 CSS。
但是标题中负责调整列大小的现有 div 与我的 Div 重叠。
Header: props => <div className='header-div'> Name <div onMouseOver = {() => {
console.log('mose');
this.setState({className: 'addBorder'});
}} className='hover-div' onMouseOut = {() => {console.log('sdasd');this.setState({className: null});}}> </div></div> ,
最佳答案
From what I understand, you want to add some border when you hover over a column header. If my understanding is correct, you can use
:hover
pseudo selector over the header class
.hdrCls:hover {
border: 2px solid rgba(0,0,0,0.6) !important;
}
更新:
您可以在由 react-table 公开的 onResizedChange
处理程序中操作状态
onResizedChange={(newResized, event) => {
let resizedCol = newResized.slice(-1)[0].id;
if(this.state.activeCol !== resizedCol) {
this.setState({
activeCol: resizedCol,
resizing: true
})
}
}}
此外,请确保您必须在 mouseup
事件上将 resizing
状态设置为 false
。为此,我提出了以下解决方案。
componentDidUpdate(props, state) {
if (this.state.resizing && !state.resizing) {
document.addEventListener('mouseup', this.onMouseUp);
} else if (!this.state.resizing && state.resizing) {
document.removeEventListener('mouseup', this.onMouseUp);
}
}
onMouseUp = (evt) => {
this.setState({
activeCol: '',
resizing: false
});
evt.stopPropagation();
evt.preventDefault();
}
供引用:
const ReactTable = window.ReactTable.default
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
activeCol: '',
resizing: false
}
}
componentDidUpdate(props, state) {
if (this.state.resizing && !state.resizing) {
document.addEventListener('mouseup', this.onMouseUp);
} else if (!this.state.resizing && state.resizing) {
document.removeEventListener('mouseup', this.onMouseUp);
}
}
onMouseUp = (evt) => {
this.setState({
activeCol: '',
resizing: false
});
evt.stopPropagation();
evt.preventDefault();
}
render() {
const data = [{
name:"Mark",
age:24
},
{
name:"Derek",
age:26
}]
const columns = [{
Header: 'Name',
accessor: 'name', // String-based value accessors!,
headerClassName: 'hdrCls',
className: (this.state.activeCol === 'name') && this.state.resizing ? 'borderCellCls' : 'defaultCellCls'
}, {
Header: 'Age',
accessor: 'age',
headerClassName: 'hdrCls',
className: (this.state.activeCol === 'age') && this.state.resizing ? 'borderCellCls' : 'defaultCellCls'
}];
return <ReactTable
data = { data }
columns = { columns }
showPagination= {false}
onResizedChange={(newResized, event) => {
let resizedCol = newResized.slice(-1)[0].id;
if(this.state.activeCol !== resizedCol) {
this.setState({
activeCol: resizedCol,
resizing: true
})
}
}}
/>
}
}
ReactDOM.render( < App / > , document.getElementById("app"))
.hdrCls:hover {
border: 2px solid rgba(0,0,0,0.6) !important;
}
.borderCellCls {
border-right: 2px solid rgba(0,0,0,0.6) !important;
border-left: 2px solid rgba(0,0,0,0.6) !important;
}
.defaultCellCls {
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-table/6.7.6/react-table.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/react-table/6.7.6/react-table.css"></link>
<div id="app"></div>
您可以尝试使用 CSS。希望这就是您想要的,希望对您有所帮助。
更新:
我认为您必须使用 CSS 才能实现您的愿望。
.borderCellCls {
border-right: 2px solid rgba(0,0,0,0.6) !important;
border-left: 2px solid rgba(0,0,0,0.6) !important;
}
关于css - 如何更改列的 CSS - ReactTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48822022/
我想为 ReactTable 中的列创建自定义排序方法。我如何对 ReactTable 说它应该使用我的自定义排序方法? 我不明白应该如何在列上使用 sortMethod 属性。当我通过这个时: so
当我们得到一个带有较小页面的水平列时,我们可以修复一个列吗? 例如,我们可以修复 this 中的 firstName 列吗?示例。 干杯! 最佳答案 react-table不支持固定列,issue已开
我正在使用 ReactTable,最后我需要创建一些摘要。 当有分页时,它应该每次都可见。有没有可能用 react 表来实现?我可以通过创建下一张表来部分解决它。但是我没有找到隐藏标题的方法。另一个问
我正在尝试在我的应用程序中使用“react-table”库。我不确定我做错了什么,但表格中的所有元素都垂直显示在左侧,而不是网格中。这发生在我的应用程序中,所以我尝试创建一个新应用程序来仅显示此表。
我需要将默认样式更改为下面的样式 最佳答案 尝试添加以下 css。您必须正确定位箭头。 rt-resizable-header -sort-desc:after { width: 0; hei
我正在使用 react-table在我的申请中。 我一直在做一件事,即在调整列大小时更改 columns 的 CSS。 目前,当您调整 列时,只有光标 发生变化。我想要的是将 border 添加到 s
我正在使用 ReactTable ,并将 filterable 设置为 true。我需要访问应用过滤器后返回的数据,以便生成过滤后数据的 CSV。 关于如何获取过滤后的数据(如 JSON)有什么想法吗
在 ReactTable 中,我想在该行展开时切换行背景颜色。在下面的链接中,第一张图片是我拥有的,第二张是我想要的。我试过玩弄 onExpandedChange 和一些没有成功的事情。任何想法如何实
这是 React 代码: import React, { Component } from 'react'; import { connect } from 'react-redux'; import
我正在使用 ReactTable并将来自数组(站点 url 的数组)的数据显示为带有真实链接的 HTML。 不幸的是,当我在单元格中使用 HTML 时,此列中的搜索过滤不起作用。这是我为这个专栏编写的
我想从 CDC 网站 ( https://www.cdc.gov/coronavirus/2019-ncov/index.html ) 中抓取与 COVID-19 相关的州级信息表。使用 Beauti
我实际上是通过发布请求调用在 ReactTable 中填充数据(listFruitData)。 我的要求是我需要首先选择 ReactTable 的行可能正在使用一些背景颜色,使其看起来
我正在尝试使用react table v7显示一些数据。使用 useTable Hook 可以完美地工作,只是它只显示一个空表,没有预期的 noDataText 。 import React, { u
关于他们的 npm page , 该示例显示了 的用法组件: import ReactTable from 'react-table' ... render() { return (
我正在尝试在 React Table 中显示 Api json 数据。 我尝试使用不同的表格,唯一的一个是 react-json-to-table 但我无法对表格进行 CSS 处理。所以我使用css自
我是一名优秀的程序员,十分优秀!