【发布时间】:2020-11-24 20:15:55
【问题描述】:
我想使用 Material ui 中的 Autocomplete(来自 Material-Ui 库)组件来选择多个选项,并且这些选项应该不能被用户(直接)删除。
我面临的问题是,如果用户聚焦组件并按下退格键,就好像他们正在删除文本一样,用户可以从自动完成中删除选项。
代码
这是我正在使用的组件:
<Autocomplete multiple
options={options}
getOptionLabel={option => option.title}
renderInput={params =>
<TextField {...params} label="Autocomplete" variant="outlined" />
}
onChange={this.onAutocompleteChange.bind(this)}
getOptionSelected={(option: Option, value: Option) => option.value === value.value}
filterSelectedOptions={true}
renderTags={(tagValue, getTagProps) =>
tagValue.map((option, index) => (
<Chip key={option.value} label={option.title} color="primary" />
))
}
disableClearable={true}
/>
我尝试了什么
- 使用
disable={true}从 renderInput 属性禁用 TextField 无效。 - 将
InputProps={{ disabled: true }}或InputProps={{ readOnly: true }}添加到 TextField 会完全禁用自动完成功能。 - 将
ChipProps={{ disabled: true }}添加到自动完成没有任何效果。
感谢阅读!
【问题讨论】:
标签: javascript reactjs autocomplete material-ui