javascript - 防止传播 - OnTouch Select - Material React

标签 javascript reactjs material-ui

我正在使用 ReactJS 和库 @material-ui/core

我想阻止 Click 上的事件传播,这是我的代码:

<NumPad.Number 
    onChange={val => { this.setPrice(val) } }>
    <TextField
        label={needsUnits ? "Precio Unitario" : "Precio"}
        id="simple-start-adornment"
        placeholder="20.00"
        InputProps={{
            startAdornment: 
                <InputAdornment position="start">
                    {this.state.params.businessCurrency === 3 &&
                    <Select value={this.state.service.currency} 
                        name="currency" id="currency"
                        style={{zIndex: 1000}}
                        onChange={(event) => this.setState({ service: { ...this.state.service, currency: event.target.value } })}
                        inputProps={{ name: 'age', id: 'age-simple', }}>
                        <MenuItem value={1}>Bs. </MenuItem>
                        <MenuItem value={2}>USD </MenuItem>
                    </Select>}
                    {this.state.params.businessCurrency !== 3 &&
                        getCurrencyAbbreviation(this.state.params.businessCurrency) }
                </InputAdornment>,
        }}
        value={this.state.service.price}
    />
</NumPad.Number>

当打开选择时,事件继续处理 TextField,但我只想打开 Select 组件中的列表。

最佳答案

我终于解决了包括事件onClick和管理事件的问题。

<Select value={this.state.service.currency} 
    name="currency" id="currency"
    onChange={(event) => this.setState({ service: { ...this.state.service, currency: event.target.value } })}
    onClick={this.preventPropagation}
    inputProps={{ name: 'age', id: 'age-simple', }}>
    <MenuItem value={1}>Bs. </MenuItem>
    <MenuItem value={2}>USD </MenuItem>
</Select>

事件必须停止传播。

preventPropagation(e) {
    e.stopPropagation();
    e.preventDefault();
}

而且我不需要在样式中添加 zIndex。

关于javascript - 防止传播 - OnTouch Select - Material React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629774/

相关文章:

node.js - AWS API Gateway 在预检响应中返回 Access-Control-Allow-Headers 不允许的 access-control-allow-origin

javascript - 使用 Angular 或 Jquery 的 DOM 操作?

javascript - ImmutableJS - 更新列表中的值

javascript - JS : Call a function after another without touching the original function?

javascript - 如果 React Native 中没有互联网连接,则获取存储数据

reactjs - 选择未被调用的 renderValue 函数 [ReactJS/Material-UI]

javascript - 在 Material-UI React 中悬停时如何更改复选框样式和图标?

javascript - 如何从日期选择器中获取日期并显示在表格中? Material -UI。响应式JS

javascript - JQuery 垂直选项卡 - 创建选项卡的附加链接

javascript - 有没有办法在 SVG 中嵌入文本?