【发布时间】:2021-08-19 22:21:42
【问题描述】:
我有一个非常基本的组件,它显示页面标题(<h1> 标签)和子标题(<h3> 标签),所以如果我想更新任何样式或添加特定功能,我可以在一个地方更新它。
有了这个,我正在开发一个样式组件,但我无法让它工作。我查看了here,这是一个很好的起始示例,但我希望用完整的书面示例完成它,这样我就可以看到我做错了什么。
我正在尝试将我的 select 标签放在我的标题标签旁边。我能够让它与原始/精确的 html 一起工作,但是当我尝试将它实现到一个组件中时,我似乎无法让它工作。对我做错了什么有任何想法吗?
这是我的代码:
PageHeaderSubSection.js
import React from 'react'
export default class PageHeaderSubSection extends React.Component {
render() {
return (
<h3 className="header-sub-content header-sub-name">
{this.props.children}
</h3>
)
}
}
MainPage.js
import React from 'react'
import styled from 'styled-components'
import PageHeader from '../common/page/PageHeader'
import PageHeaderSubSection from '../common/page/PageHeaderSubSection'
const StyledPageHeaderSubSection = styled(PageHeaderSubSection)``
const FormHeaderWithButtonStyle = styled.div`
${StyledPageHeaderSubSection} {
margin: 0;
display: inline-block;
}
select {
vertical-align: text-bottom;
}
`
class MainPage extends React.Component {
render() {
return (
<>
<PageHeader>Main</PageHeader>
<FormHeaderWithButtonStyle>
<PageHeaderSubSection>Main Modifiable Data</PageHeaderSubSection>
<span> </span>
<select className="form-control w-auto" >
<option key={0} value={0}>None</option>
<option key={1} value={"Select 1"}>{"Select 1"}</option>
<option key={2} value={"Select 2"}>{"Select 2"}</option>
<option key={3} value={"Select 3"}>{"Select 3"}</option>
</select>
</FormHeaderWithButtonStyle>
<MoreDataHere />
</>
)
}
}
【问题讨论】:
-
为什么要在标题标签旁边添加
select? -
h3默认是块元素。尝试在h3元素的 css 选择器中设置display: inline。 stackoverflow.com/questions/26166907/text-inline-after-h3/… -
@YahyaParvar 我很困惑,我如何同时使用 CSS 和样式组件?你会建议我做什么?
-
@rexessilfie 我只想在同一“行”中进行选择。当我只使用
h3时,我已经让display: inline工作了。但是,我正在尝试找出样式组件以使用问题中的链接中提到的组件。 -
在查看了您问题中链接的示例后,我想我更清楚您的意思了!可能的答案即将出现。