我有一系列交易所,一旦用户选择了一个交易所,我想同时使用交易所的名称和基本报价。
例如,如果用户选择下面的第一个选项,我想捕获"poloniex"
以及 base key "USDC"
。
首先我尝试使用这个:
{exchanges.map((exchange, i) =>
(<option key={i} value={exchange.exchange} base={exchange.quote}>
{capFirst(exchange.exchange)} ({exchange.quote}) ${exchange.price_quote}
</option>))}
但是我得到了base
不存在的错误,但是我不应该能够向选项添加任何属性吗?如果它在 JSX 中,也许不是?也data
没有工作。
输入'{孩子:字符串[]; 键:数字;值:字符串;基数:字符串;}' 不可分配给类型 'DetailedHTMLProps, HTMLOptionElement>'。'DetailedHTMLProps, HTMLOptionElement>'.ts(2322) 类型上不存在属性'base'
我尝试的另一种方法是获取所选选项的索引键,但是下面的代码会生成key = null
.
下面target.value
会给我它的价值,但我也需要基本报价。
@bind
handleExchangeSelect(event: React.FormEvent<HTMLSelectElement>) {
const { exchanges } = this.props;
const target = event.target as HTMLSelectElement;
console.log('target', target);
const exchange = target.value;
const key = target.getAttribute('key');
console.log('exchange', exchange);
console.log('key', key);
// if (key) {
// console.log(exchanges[Number(key)]);
// }
this.setState({
exchange,
// exchange_base: base ? base : ''
});
}