所以我有一个tab-component
包含3个项目的项目:
React.DOM.ul( className: 'nav navbar-nav',
MenuItem( uid: 'home')
MenuItem( uid: 'about')
MenuItem( uid: 'contact)
)
在的.render
中MenuItem
:
React.DOM.li( id : @props.uid, className: @activeClass, onClick: @handleClick,
React.DOM.a( href: "#"+@props.uid, @props.uid)
)
每次单击某个项目时,都会调用一个骨干路由器,该骨干路由器将调用,而tab-component
后者又将调用一个page-component
。
我仍在努力解决基本上存在单向数据流这一事实。而且我习惯直接操作DOM。
我想做的是将.active
类添加到单击的选项卡中,并确保将其从非活动类中删除。
我所知道的CSS技巧,你可以使用data-
属性和不同的造型适用于为属性true
或false
。
骨干路由器已经获取了变量uid
并调用正确的页面。我只是不确定如何最好地在选项卡之间切换类,因为一次只能激活一个。
现在,我可以保留有关哪个选项卡被选中的记录,并对其进行切换等。但是React.js已经具有此记录保持功能。
在@handleClick
你看,我甚至不希望使用的,因为路由器应该告诉tab-component
这些人给的className: '.active'
,我想避免的jQuery,因为React.js并不需要直接的DOM操作。
我已经使用@state尝试了一些方法,但是我确定有一种非常优雅的方法来实现此目标,我想我已经看过某人的演示文稿或视频。
我真的必须习惯于改变我的思维方式,以积极地思考React。
我只是在寻找一种最佳实践方式,所以我可以以一种非常笨拙的方式解决它,但是我喜欢React.js,因为它是如此的简单。
尽可能将状态推向更高的html" target="_blank">组件层次结构,并props
在下面的所有级别上对不可变进行处理。将活动选项卡存储在您的设备中tab- component
并从数据生成菜单项似乎很有意义(this.props
在这种情况下),以减少代码重复:
以下示例的工作JSFiddle +骨干路由器: http
:
//jsfiddle.net/ssorallen/4G46g/
var TabComponent = React.createClass({
getDefaultProps: function() {
return {
menuItems: [
{uid: 'home'},
{uid: 'about'},
{uid: 'contact'}
]
};
},
getInitialState: function() {
return {
activeMenuItemUid: 'home'
};
},
setActiveMenuItem: function(uid) {
this.setState({activeMenuItemUid: uid});
},
render: function() {
var menuItems = this.props.menuItems.map(function(menuItem) {
return (
MenuItem({
active: (this.state.activeMenuItemUid === menuItem.uid),
key: menuItem.uid,
onSelect: this.setActiveMenuItem,
uid: menuItem.uid
})
);
}.bind(this));
return (
React.DOM.ul({className: 'nav navbar-nav'}, menuItems)
);
}
});
除了附加类名和公开click事件外,MenuItem几乎无能为力:
var MenuItem = React.createClass({
handleClick: function(event) {
event.preventDefault();
this.props.onSelect(this.props.uid);
},
render: function() {
var className = this.props.active ? 'active' : null;
return (
React.DOM.li({className: className},
React.DOM.a({href: "#" + this.props.uid, onClick: this.handleClick})
)
);
}
});
我正在打开一个页面,执行一些操作,我正在使用这段代码在下一个选项卡中打开另一个链接 字符串url=“https://qa.logfireapps.com/lgf_700_qa_rf”; String args1=String.format(“window.open(”%s“,”%s“);”,url,“new”); ((JavascriptExecutor)driver).ExecuteScript
我写了示例代码,但它不起作用。还观察到2个选项卡只有1个窗口句柄。如何再次切换到父页签?
将Selenium WebDriver与Java结合使用。我正在尝试自动化一个功能,其中我必须打开一个新的选项卡,在那里做一些操作,并回到以前的选项卡(父)。我用了开关手柄,但它不起作用。还有一件奇怪的事情,两个选项卡有相同的窗口句柄,因此我不能在选项卡之间切换。 然而,当我尝试使用不同的Firefox窗口时,它都能工作,但是对于tab它就不行了。 请帮帮我.我如何切换标签。或者我如何切换选项卡而
本文向大家介绍vue实现选项卡及选项卡切换效果,包括了vue实现选项卡及选项卡切换效果的使用技巧和注意事项,需要的朋友参考一下 这里不跟大家再去把Vue文档上的一些指令用法或者基础知识再复述一遍,既然是从入门到实战,我直接将平时项目中需要实现的一些效果拆分成模块。你们遇到了相关的指令或者不知道怎么用的方法自己对着文档去查,再回过头来看我的实现代码。记住,通读Vue文档真的很重要,很重要! 这里的V
问题内容: 在JAVA中使用Selenium WebDriver。我试图自动执行一项功能,在该功能中我必须打开一个新选项卡,然后在此处执行一些操作,然后返回到上一个选项卡(父项)。我使用了开关手柄,但无法正常工作。奇怪的是,两个选项卡具有相同的窗口句柄,因此我无法在两个选项卡之间切换。 但是,当我尝试使用其他Firefox窗口时,它可以工作,但是对于选项卡,它却无法工作。 请帮助我如何切换标签。或
本文向大家介绍使用javascript实现简单的选项卡切换,包括了使用javascript实现简单的选项卡切换的使用技巧和注意事项,需要的朋友参考一下 代码相当简洁、简单易懂,就不多废话了。 直接奉上代码: ------demo.js--------------- 是不是很简单就实现了选项卡的切换效果呢,小伙伴们自己美化下就可以用到自己项目中去了。