не работает обработчик событий onClick

74
15 мая 2021, 23:50

не работает обработчик событий в дочернем элементе в реакте onClick при клике на элементе из списка ничего не происходит

родитель:

class BuisnessInfo extends Component {
    handleSelect = item => {
        console.log('item', item);
    }
    render() {
        return (
            <BuisnessInfoContainer>
                <Input 
                    title='залупа'
                    text='type'
                    type='multiSelect'
                    onSelect={this.handleSelect}
                />
            </BuisnessInfoContainer>
        )
    }
}

ребенок

class Input extends Component {
    constructor(props) {
        super(props)
    }
    state = {
        searchValue: '',
        onFocusMultiSelect: false
    }
    handleFocus = () => {
        this.setState({
            onFocusMultiSelect: true
        })
    }
    handleBlur = () => {
        this.setState({
            onFocusMultiSelect: false
        })
    }
    renderInput = () => {
        const { onFocusMultiSelect } = this.state
        const { type, onSelect } = this.props
        const test = ['1231', '331312', 3, 4, 5, 6, 7, 8]
        switch (type) {
            case 'multiSelect': 
                return  (<InputMultiSelectWrapper htmlFor="search">
                            <InputMultiSelect
                                onBlur={this.handleBlur}
                                onFocus={this.handleFocus}
                                focus={onFocusMultiSelect}
                                placeholder='Не выбрана'
                            />
                            <InputMultiSelectIcon
                                focus={onFocusMultiSelect}/>
                            { onFocusMultiSelect &&
                                <InputMultiSelectListWrapper>
                                    {
                                        test.map((item, index) => (
                                                <InputMultiSelectItem 
                                                    key={index}
                                                    onClick={() => onSelect('13')}
                                                >
                                                    {item}
                                                </InputMultiSelectItem>
                                            )
                                        )
                                    }
                                </InputMultiSelectListWrapper>
                            }
                        </InputMultiSelectWrapper>)
            default: 
                return <InputForm />
        }
    }
    render() {
        const { title, text } = this.props;
        return (
            <InputWrapper>
                {
                    title && 
                    <InputTitle>
                        {title}
                    </InputTitle>
                }
                {
                    text && 
                    <InputText>
                        {text}
                    </InputText>
                }
                {this.renderInput()}
            </InputWrapper>
        )
    }
}
Answer 1

обработчик onBlur мешал всему.

READ ALSO
Почему при импорте файла scss, в другой scss, он не хочет его читать или не видит?

Почему при импорте файла scss, в другой scss, он не хочет его читать или не видит?

При импорте файла scss, в другой scss, он не хочет его читать, или не видит?

101
Повесить .on на this в document

Повесить .on на this в document

Помогите плиз, не пойму, как мне повесить слушалку на

100
Проблема со стилем и меню

Проблема со стилем и меню

Добавил меню оно у меня какое то корявое, слова не отображаются прямо по центруА слово "О нас" так вообще одна буква "О" только отображается

99
Не загружается img в Flask

Не загружается img в Flask

Не получается загрузить изображение с помощью FlaskВ лучшем случае - выдаёт html с "битой картинкой"

94