【发布时间】:2016-09-14 03:12:12
【问题描述】:
我正在使用 Material UI 的自动完成组件,但遇到了显示值而不是文本元素的问题。我使用以下格式作为我的数据源:
[{value: 'someValue', text: 'My Text'}, {value: 'someOtherValue', text: 'Some other Text'}]
当用户输入查询时,它会正确找到匹配的结果,但下拉菜单本身会显示值而不是文本。
示例
用户搜索“我的”:
结果:
[someValue]
我想要什么:
[My Text]
它现在的工作方式对我来说实际上似乎违反直觉。
material-ui/AutoComplete/AutoComplete.js [第 346-354 行]
当我更改组件的源代码时:
requestsList.push({
text: item.text,
value: _react2.default.createElement(_MenuItem2.default, {
innerDivStyle: styles.innerDiv,
primaryText: item.value,
disableFocusRipple: disableFocusRipple,
key: index
})
});
到
requestsList.push({
text: item.text,
value: _react2.default.createElement(_MenuItem2.default, {
innerDivStyle: styles.innerDiv,
primaryText: item.text,
disableFocusRipple: disableFocusRipple,
key: index
})
});
它可以按我的需要工作。
我找不到任何关于此的未解决问题。我只是做错了吗?
最好的 马特
【问题讨论】:
-
这就是它的工作方式.. 你为什么不把你的数据源映射到一个“有效的”呢?示例
{value: 'My Text', text: 'My Text', internalValue: 'someValue'} -
是的,我可以这样做 - 但我想知道什么是“价值”和“文本”,因为我只是给它们相同的价值。我可以简单地使用一个简单的数组:['My Text1', 'My Text2']。您能给我一个正确使用 {value & text} 的示例/用例吗?
标签: javascript node.js material-ui