我正在使用材質用戶界面的自動填充組件,並面臨顯示值而不是文本元素的問題。我使用以下格式作爲我的數據源:下拉菜單中的材質UI自動完成結果文本
[{value: 'someValue', text: 'My Text'}, {value: 'someOtherValue', text: 'Some other Text'}]
當用戶進入它正確找到匹配結果的查詢,但在下拉本身顯示值而不是文本。
例
用戶搜索 「我的」:
結果:
[someValue]
我想要什麼:
[My Text]
它實際上似乎違反直覺我的方式它現在工作。
材料-UI /自動完成/ 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:'我的文本',文本:'我的文本',internalValue:'someValue'}''' –
是的,我可以這樣做 - 但我想知道什麼是'價值'和'文本'無論如何,只要給他們相同的價值就可以使用。我可以簡單地使用一個簡單的數組:['我的文本1','我的文本2']。 你能給我一個例子/ useCase的{值和文本}正確使用嗎? –