Ank*_*rma 7 javascript reactjs semantic-ui-react
有人可以帮我解决如何在下拉菜单中使用onChange(语义UI React)。我正在阅读文档,但仍然不明白。它确实具有onChange道具。
onChange(event: SyntheticEvent, data: object)
Run Code Online (Sandbox Code Playgroud)
如何使用?就像,我有方法dropdownmethod()。
编辑-实施了建议,但没有成功。我认为在您的建议中,您没有绑定功能。但是,我绑定了功能。
onChangeFollower(event,data){
console.log("on change follower",data.text)
}
render() {
console.log("this.props",this.props)
var onChangeFollower = this.onChangeFollower.bind(this)
return (
<div>
<h2>project settings are here</h2>
<h2>Add new Member</h2>
<Dropdown onChange={onChangeFollower}
placeholder='Select Member'
fluid search selection options={arr} />
<h2>List of members</h2>
{lr}
</div>
Run Code Online (Sandbox Code Playgroud)
如文档中所述,您只需要传递方法的引用,然后您将获得2个参数:
本地事件
所选选项的对象
这是一个代码片段(它使用CDN,但会引发一些调试警告,因此请忽略它们)
const { Dropdown } = semanticUIReact;
const languageOptions = [
{ key: 'eng', text: 'English', value: 'eng' },
{ key: 'spn', text: 'Spanish', value: 'spn' },
{ key: 'rus', text: 'Russian', value: 'Russian' },
]
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
searchQuery: '',
selected: null
}
}
onChange = (e, data) => {
console.log(data.value);
this.setState({ selected: data.value });
}
onSearchChange = (e, data) => {
console.log(data.searchQuery);
this.setState({ searchQuery: data.searchQuery });
}
render() {
const { searchQuery, selected } = this.state;
return (
<div>
<Dropdown
button
className='icon'
fluid
labeled
icon='world'
options={languageOptions}
search
text={searchQuery}
searchQuery={searchQuery}
value={selected}
onChange={this.onChange}
onSearchChange={this.onSearchChange}
/>
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.9/semantic.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/semantic-ui-react@0.77.1/dist/umd/semantic-ui-react.min.js"></script>
<div id="root"></div>Run Code Online (Sandbox Code Playgroud)
编辑
作为您评论的后续。
我检查了例子。即使在那里,当我键入内容时,它也不会在控制台中显示任何内容
你是不是在谈论onChange对的select,你是在谈论当搜索输入已改变。
您可以使用onSearchChange相同的参数。(我已经更新了示例)
我已经实现如下
React hooks 功能如下,如果您愿意,也可以handleOnChange作为道具传递
const RenderDropdown = ({optionsArray}) => {
const handleOnChange = (e, data) => {
console.log(data.value);
}
return (
<Dropdown
placeholder='Please select'
fluid
selection
options={optionsArray}
onChange={handleOnChange}
/>
);
}
Run Code Online (Sandbox Code Playgroud)
选项数组如下
const optionsArray = [
{
key: 'male',
text: 'Male',
value: 'male',
image: { avatar: true, src: 'https://semantic-ui.com/images/avatar/small/elliot.jpg' },
},
{
key: 'female',
text: 'Female',
value: 'female',
image: { avatar: true, src: 'https://semantic-ui.com/images/avatar/small/stevie.jpg' },
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12328 次 |
| 最近记录: |