![](/img/trans.png)
[英]How to change the font size of selected text in TextField Select from material-ui
[英]How to get innerText (selected text not the value) from TextField as select
我正在为我的项目使用material-ui,我需要获取选定的文本(而不是值)并进行一些解析。 我似乎找不到解决方法。
这是我的组件的外观:
<TextField
select
margin="dense"
label="Name"
variant="outlined"
className={classes.textField}
value={values.nameId}
onChange={handleChange('nameId')}
>
{names.map(row => (
<MenuItem key={row.Id} value={row.Id}>{row.Name}</MenuItem>
))}
</TextField>
处理程序如下所示:
const handleChange = name => event => {
setValues({ ...values, [name]: event.target.value });
};
显然event.target.value获取我的选定值,但我也想获取选定索引的选定innerText。 有任何想法吗?
您是否尝试过使用event.target.innerText
? 事件的target
属性应包含您可以在变更处理程序中访问的整个元素的数据。
在handleChange中,使用Array.find()搜索所需的元素,然后提取其名称:
const handleChange = name => event => {
const innerText = names
.find(name => name.Id === event.target.value)
.Name;
console.log('inner text: ', innerText);
setValues({ ...values, [name]: event.target.value });
};
您可以在CodeSandbox上查看工作示例
我做了更多的探索,并且能够使用以下属性访问内部文本:
event._targetInst.child.alternate.memoizedProps[0]
event.target.innerText
对材料用户界面<TextField>
组件不起作用。 但是,本机选择组件可能会工作。
我不确定这是否是最好的方法,但目前看来仍然有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.