我接到一个需求就是类似一个创建一个考试试卷,每次点击按钮,添加一个新的组件,这个组件可以是选择题,也可以是是非题,我现在想要实现这个按钮,因为这个生成试卷的功能比较复杂,所以我想要每一步代码都非常精简,优雅,目前看到以下代码可以实现功能,已经算是比较简练的了,但是还是发上来,看看大佬门有没有更好的实现思路,让代码更优雅。
import React from 'react';
import ReactDOM from 'react-dom';
class AppComponent extends React.Component {
state = {
numChildren: 0
}
render () {
const children = [];
for (var i = 0; i < this.state.numChildren; i += 1) {
children.push(<ChildComponent key={i} number={i} />);
};
return (
<ParentComponent addChild={this.onAddChild}>
{children}
</ParentComponent>
);
}
onAddChild = () => {
this.setState({
numChildren: this.state.numChildren + 1
});
}
}
const ParentComponent = props => (
<div className="card calculator">
<p><a href="#" onClick={props.addChild}>Add Another Child Component</a></p>
<div id="children-pane">
{props.children}
</div>
</div>
);
const ChildComponent = props => <div>{"I am child " + props.number}</div>;
ReactDOM.render(<AppComponent/>, document.getElementById('root'));
可以用map简化:
import React, { useState } from 'react';
import ReactDOM from 'react-dom';
const AppComponent = () => {
const [components, setComponents] = useState([]);
const onAddChild = (componentType) => {
setComponents([...components, componentType]);
};
return (
<div>
<button onClick={() => onAddChild('Choice')}>Add Choice Question</button>
<button onClick={() => onAddChild('TrueFalse')}>Add True/False Question</button>
{components.map((componentType, index) => {
switch (componentType) {
case 'Choice':
return <ChoiceQuestion key={index} />;
case 'TrueFalse':
return <TrueFalseQuestion key={index} />;
default:
return null;
}
})}
</div>
);
};
const ChoiceQuestion = () => {
return <div>Choice Question</div>;
};
const TrueFalseQuestion = () => {
return <div>True/False Question</div>;
};
ReactDOM.render(<AppComponent />, document.getElementById('root'));
本文向大家介绍Android优雅地处理按钮重复点击的几种方法,包括了Android优雅地处理按钮重复点击的几种方法的使用技巧和注意事项,需要的朋友参考一下 App中,有很大一部分场景是点击按钮,向服务端提交数据,由于网络请求需要时间,用户很可能会多次点击,造成数据重复提交,造成各种莫名其妙的问题。 因此,防止按钮多次点击,是Android开发中一个很重要的技术手段。 以前的处理方式 网上查找到的,
本文向大家介绍Android如何给按钮添加点击音效,包括了Android如何给按钮添加点击音效的使用技巧和注意事项,需要的朋友参考一下 有很多制作精良的APP都自带点击音效,那么如何简单的来实现这一效果,这里需要使用到的一个概念叫做SoundPool,这个类主要用于播放一些比较小的音频文件,因为比较方便,通常用在游戏里比较多。 代码 闲话不多说,我们现在需要做一个功能,就是点击某一按钮的时候同时播
下面是.java文件中的代码
本文向大家介绍layui实现点击按钮给table添加一行,包括了layui实现点击按钮给table添加一行的使用技巧和注意事项,需要的朋友参考一下 •问题描述:想实现点击按钮在表格添加一行的功能,但发现layuii并未集成该工具栏,因此,需要自己手动添加这个功能; •原先我写的table是这样实现的: 并不能实现添加的效果;后查询后发现,这样做是基于table是用静态的方式编写的,即: 而我用的是
本文向大家介绍iview给radio按钮组件加点击事件的实例,包括了iview给radio按钮组件加点击事件的实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: iview的单选按钮如果想要加点击事件,加在 RadioGroup 上和 Radio 上都不生效,这时,可以给组件外包裹一个标签,然后加事件,就完美解决了。 以上这篇iview给radio按钮组件加点击事件的实例就是小编分享给大家的
父组件存储所有状态。 函数触发任何并更改状态 myChangeHandler(事件){this.setState({[event.target.name]:event.target.value}); 在改变单选按钮的值应该返回在"指南是"行这里是代码,让我知道如果我错过了什么