gpt4 book ai didi

javascript - 如何在具有多个属性的 Semantic-UI-React 中查看值?

转载 作者:行者123 更新时间:2023-11-30 19:58:18 24 4
gpt4 key购买 nike

这是一个非常直接的问题。注意我有多重属性。当我选择一个值时,它只是将一个值插入数组。因此,如果我有多个值,它会给我一个包含多个值但不是我选择的特定选项的数组。

现在我的问题是,当我从下拉列表中删除时,如何获得该特定值?我在谷歌上搜索了一个小时,但没有找到答案。

<Dropdown 
options={options}
onChange={this.onChange.bind(this)}
search fluid multiple selection/>

onChange(e, { value } ) {
e.preventDefault();
// e.target.value DOESN'T WORK???!!!

}

最佳答案

所以语义 UI 的下拉列表似乎没有提供开箱即用的功能。但是,有一种不错的方法可以实现这一目标。首先,创建一个状态:

this.state = {
selected: [],
}

然后,像这样将一个函数绑定(bind)到 Dropdown 组件:

<Dropdown
placeholder="Skills"
fluid
multiple
selection
options={options}
onChange={this.handleChange}/>

完成后,编写 handleChange 函数来比较每次更改时的数组长度。如果状态数组比您从下拉列表中获得的任何数组长,则该项目已被删除,您可以检查是哪一个。否则,将数组转储到状态。

handleChange = (e, { value }) => {
if (this.state.selected.length > value.length) { // an item has been removed
const difference = this.state.selected.filter(
x => !value.includes(x),
);
console.log(difference); // this is the item
return false;
}
return this.setState({ selected: value });
};

不过,您需要一个 polyfill 才能在 IE8 及以下版本中运行。

关于javascript - 如何在具有多个属性的 Semantic-UI-React 中查看值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53689147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com