Javascript 冒充事件
我有一个reactjs代码块,它有一个SelectBox和一个输入组件Javascript 冒充事件,javascript,dom-events,event-bubbling,Javascript,Dom Events,Event Bubbling,我有一个reactjs代码块,它有一个SelectBox和一个输入组件 import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import SelectBox from '../SelectBox'; import Input from '../Input'; const PhoneNumber = props => { const {
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import SelectBox from '../SelectBox';
import Input from '../Input';
const PhoneNumber = props => {
const {
className,
label,
options,
selectedCountry,
onCountryChange,
value,
onChange,
countryPlaceholder,
numberPlaceholder,
} = props;
const inputParamChangeHandler = event => {
const inputChar = event.target.value;
onChange(inputChar);
};
const selectedOptionChangeHandler = event => {
const valueSelected = event.value.props.countryCode;
onCountryChange(valueSelected);
};
return (
<div className={classNames('phone-number', className)}>
<div className="phone-number__label">{label}</div>
<div className="phone-number__wrapper" onChange={inputParamChangeHandler}>
<SelectBox
size="small"
value={selectedCountry}
placeholderText={countryPlaceholder}
touched={false}
onChange={selectedOptionChangeHandler}
isSearchable={false}
isDisabled={false}
isClearable={false}
options={options}
width="small"
/>
<Input
type="number"
value={value}
onChange={inputParamChangeHandler}
placeholder={numberPlaceholder}
/>
</div>
</div>
);
};
PhoneNumber.defaultProps = {
className: null,
label: 'Phone Number',
countryPlaceholder: '+880',
numberPlaceholder: 'XXXX XXX XXX',
options: [],
};
PhoneNumber.propTypes = {
className: PropTypes.string,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
options: PropTypes.arrayOf(
PropTypes.shape({
label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
})
),
countryPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
numberPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
selectedCountry: PropTypes.string.isRequired,
onCountryChange: PropTypes.func.isRequired,
value: PropTypes.string.isRequired,
onChange: PropTypes.func.isRequired,
};
export default PhoneNumber;
从“React”导入React;
从“道具类型”导入道具类型;
从“类名称”导入类名称;
从“../SelectBox”导入SelectBox;
从“../Input”导入输入;
const PhoneNumber=props=>{
常数{
类名,
标签,
选项,
选定国家,
onCountryChange,
价值
一旦改变,
国家占位符,
号码座,
}=道具;
常量inputParamChangeHandler=事件=>{
const inputChar=event.target.value;
onChange(inputChar);
};
const selectedOptionChangeHandler=事件=>{
const valueSelected=event.value.props.countryCode;
onCountryChange(选择的值);
};
返回(
{label}
);
};
PhoneNumber.defaultProps={
类名:null,
标签:“电话号码”,
countryPlaceholder:“+880”,
编号placeholder:'XXXX XXX XXX',
选项:[],
};
PhoneNumber.propTypes={
类名:PropTypes.string,
标签:PropTypes.oneOfType([PropTypes.string,PropTypes.node]),
选项:PropTypes.arrayOf(
PropTypes.shape({
标签:PropTypes.oneOfType([PropTypes.string,PropTypes.node]),
值:PropTypes.oneOfType([PropTypes.string,PropTypes.number]),
})
),
countryPlaceholder:PropTypes.oneOfType([PropTypes.string,PropTypes.node]),
numberPlaceholder:PropTypes.oneOfType([PropTypes.string,PropTypes.node]),
selectedCountry:PropTypes.string.isRequired,
onCountryChange:PropTypes.func.isRequired,
值:PropTypes.string.isRequired,
onChange:PropTypes.func.isRequired,
};
导出默认电话号码;
如果我想在
inputParamChangeHandler
方法的onChange
函数的事件中冒泡,正确的方法应该是什么?另外,在JavaScript中,使事件冒泡的真正含义是什么?我应该在当前代码库中采用不同的方法来实现这一点,还是当前的方法可以进行事件冒泡?关于事件
冒泡是什么,我想您可以看看。这个问题已经解释得很清楚了。