I’m having a problem rendering a table in React. My two main problems are the buttons I am including are not properly styled within their section (I want them centered within their div but they go off the table), and the table border gets cut off in the areas where there are buttons or where there is an empty table header. Does anyone have an idea as to what I’m doing wrong?
What it currently looks like:
Relevant code: MyTable.js:
export default class MyTable extends Component {
constructor(props) {
super(props);
}
render() {
var rows = [];
this.props.items.forEach(function(item) {
if (i % 2 === 0) {
rows.push(<MyTableRow item={item} key={item.name} />);
}.bind(this));
return (
<table className={styles.moduleSection}>
<thead>
<tr>
<th {‘Name’} </th>
<th className={styles.status}>{'Potential status'}</th>
</tr>
</thead>
<tbody>{rows}</tbody>
</table>
);
}
}
MyTable.css:
.moduleSection {
background-color: #fff;
border: 1px solid #ccc;
border-collapse: collapse;
border-radius: 6px;
width: 100%;
}
.status {
height: 35px;
padding: 0 20px;
text-align: right;
width: 105px;
}
MyTableRow.js:
export default class MyTableRow extends Component {
constructor(props) {
super(props);
}
render() {
const statusMap = {
1: 'Potential',
2: 'Unpotential',
};
return (
<tr className={styles.tr}>
<td className={styles.td}>{this.props.conversionTag.name}</td>
<td className={styles.status}>{item.status}</td>
<td className={styles.editButton}> <Button
text={‘Details'}
/>
</td>
</tr>
);
}
}
MyTableRow.css:
.td {
font-weight: 500;
padding: 0 20px;
}
.status {
border: 1px solid #e7e7e7;
color: #ff0000;
font-size: 14px;
font-weight: 500;
padding: 0 20px;
text-align: right;
}
.tr {
border-bottom: 1px solid #e7e7e7;
font-size: 14px;
}
.editButtonText {
padding: 7px 10px;
}
.editButton {
background: #fff !important;
border-color: #c7c7c7;
border-radius: 4px;
box-shadow: none;
color: #333 !important;
font-size: 14px;
float: right;
line-height: 16px;
padding: 7px 10px;
width: 48px;
}
Any help would be appreciated! thanks!
I’m having a problem rendering a table in React. My two main problems are the buttons I am including are not properly styled within their section (I want them centered within their div but they go off the table), and the table border gets cut off in the areas where there are buttons or where there is an empty table header. Does anyone have an idea as to what I’m doing wrong?
What it currently looks like:
Relevant code: MyTable.js:
export default class MyTable extends Component {
constructor(props) {
super(props);
}
render() {
var rows = [];
this.props.items.forEach(function(item) {
if (i % 2 === 0) {
rows.push(<MyTableRow item={item} key={item.name} />);
}.bind(this));
return (
<table className={styles.moduleSection}>
<thead>
<tr>
<th {‘Name’} </th>
<th className={styles.status}>{'Potential status'}</th>
</tr>
</thead>
<tbody>{rows}</tbody>
</table>
);
}
}
MyTable.css:
.moduleSection {
background-color: #fff;
border: 1px solid #ccc;
border-collapse: collapse;
border-radius: 6px;
width: 100%;
}
.status {
height: 35px;
padding: 0 20px;
text-align: right;
width: 105px;
}
MyTableRow.js:
export default class MyTableRow extends Component {
constructor(props) {
super(props);
}
render() {
const statusMap = {
1: 'Potential',
2: 'Unpotential',
};
return (
<tr className={styles.tr}>
<td className={styles.td}>{this.props.conversionTag.name}</td>
<td className={styles.status}>{item.status}</td>
<td className={styles.editButton}> <Button
text={‘Details'}
/>
</td>
</tr>
);
}
}
MyTableRow.css:
.td {
font-weight: 500;
padding: 0 20px;
}
.status {
border: 1px solid #e7e7e7;
color: #ff0000;
font-size: 14px;
font-weight: 500;
padding: 0 20px;
text-align: right;
}
.tr {
border-bottom: 1px solid #e7e7e7;
font-size: 14px;
}
.editButtonText {
padding: 7px 10px;
}
.editButton {
background: #fff !important;
border-color: #c7c7c7;
border-radius: 4px;
box-shadow: none;
color: #333 !important;
font-size: 14px;
float: right;
line-height: 16px;
padding: 7px 10px;
width: 48px;
}
Any help would be appreciated! thanks!
Share Improve this question asked Jul 14, 2016 at 23:08 user3802348user3802348 2,60211 gold badges38 silver badges51 bronze badges1 Answer
Reset to default 2A couple of things:
You are defining only two
th
s in your header but threetd
s on yourMyTableRow
.Your
.editButton
hasfloat: right
set. I think you should usetext-align: center
for the centering effect. Also, get rid of padding and widths unless you need them.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745139468a4613360.html
评论列表(0条)