我是新来的反应。我有几个按钮在按钮组:
<div className="btn-group">
<button className="btn btn-mini btn-default" onClick={() => this.changeDataType("type1")} >Button1</button>
<button className="btn btn-mini btn-default" onClick={() => this.changeDataType("type2")} >Button2</button>
<button className="btn btn-mini btn-default" onClick={() => this.changeDataType("type3")} >Button3</button>
</div>
每当用户点击其中一个按钮时,该按钮应该成为活动的、选定的按钮。我发现我需要将CSS类active
添加到相应的按钮中,但我不确定如何实现这一点。
我想了一会儿。我有一个changeDataType
函数连接到我的按钮,我在其中做一些其他事情。那么,在那里,我会以某种方式操纵CSS吗?
所以我想我的问题是,第一,如何定位我需要定位的按钮,第二,如何使用React更改按钮的CSS。
我是如何做到这一点的:
//聊天室页面组件
function ChatRoomPage() {
const [showActionDropdown, setShowActionDropdown] = useState('hide');
function showActionDropdownHandler(){
console.log("clicked")
if(showActionDropdown=='hide')
setShowActionDropdown('show')
else
setShowActionDropdown('hide')
}
return (
<div>
<button onClick={ () => showActionDropdownHandler() } className="btn " type="button">Actions</button>
<div className={`action_menu ${showActionDropdown}`}>
...
</div>
</div>
);
}
export default ChatRoomPage;
有一个很好的实用程序,你可以用它来连接类名逻辑
https://github.com/JedWatson/classnames
基于为活动设置React状态,您可以执行以下操作。你可以把逻辑变得尽可能复杂。如果逻辑结果错误,则该键将不包括在输出中。
var classNames = require('classnames');
var Button = React.createClass({
// ...
render () {
var btnClass = classNames({
btn: true,
'btn-active': this.state.isActive
});
return <button className={btnClass}>{this.props.label}</button>;
}
});
在反应状态变化时再进行反应渲染。在你的情况下,如果你想改变一些东西的外观,那么你可能想强制另一个渲染。您可以做的是让class Name
成为状态的一部分,然后在需要时更新状态,使组件使用新的class Name
重新呈现。例如:
constructor() {
super();
this.state = {
className: 'btn'
}
}
render () {
return (
<Button className={this.state.className}>Click me</Button>
)
}
由于类名
绑定到状态,更新状态将导致按钮使用新的类名
再次呈现。可以这样做:
updateClass() {
let className = this.state.className;
className = className + ' ' + 'btn-primary'
this.setState({className})
}
这是一个函数示例,您可以在单击按钮时调用该函数并更新该按钮的class Name
。
问题内容: 在我的表我有,列。 示例:和 如何将此列添加到我的列中,这样我就可以 我尝试了这个: 但它不起作用。 谢谢你,史蒂夫 问题答案: 据我了解,您想将前两位数字添加为小时,将后两位数字添加为分钟-但您并未在通话中执行此操作- 您要将两个部分都添加为-请尝试以下操作: 在这里,我使用了两个嵌套-内部添加小时,外部添加分钟到添加小时的结果上。 另外:在SQL Server中是 基于1的 ,例如
我正在尝试为我的设置屏幕实现android jetpack首选项。一切正常,当我单击MultiSelectListPreference时,它会显示条目列表,但我没有什么问题, 为什么entryValues不能是整数数组?(字符串数组工作正常) 如何设置默认值?对于EG:我想在开始时将第二个和第三个条目设置为默认勾选。 下面是我的pref.xml文件的一部分 如果我将arrays.xml文件中的设置
Table of Contents 目录 append 添加 append_by_ref 引用添加 assign 赋值 assign_by_ref 引用赋值 clear_all_assign 清除所有赋值 clear_all_cache 清除所有缓存 clear_assign 清除赋值 clear_cache 清除缓存 clear_compiled_tpl 清除已编译模板 clear_confi
在conf/ioc目录下添加ehcache.js, 作用是将Ehcache声明为一个bean,这样其他模块/Service就能使用它了 请注意看注释!!!!! var ioc = { "cacheManager" : { "type" : "net.sf.ehcache.CacheManager", "factory" : "net.
Ehcache自带一个默认配置,但我们需要命名这个配置,所以,在conf目录下建一个ehcache.xml <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false" monitoring=
添加一个类net.wendal.nutzbook.shiro.realm.SimpleAuthorizingRealm package net.wendal.nutzbook.shiro.realm; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.Authenticatio