javascript - 始终在反应 js antd 中的选择下拉列表顶部显示选择选项
问题描述
在选择下拉菜单中,我添加了默认选项值“--select--”。目前它显示在选择列表的底部。我想将它显示在列表的顶部。请帮助我如何实现这一目标。
在沙箱中,我添加了代码。请找到链接:
https://codesandbox.io/s/recursing-albattani-xdeud?file=/src/App.js
零件 :
import React, { useEffect } from "react";
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import { Form, Select } from "antd";
import CollegeList from "./CollegeList";
const { Option } = Select;
const App = () => {
const [collegesList, setCollegesList] = React.useState(CollegeList);
const [collegesSelectedList, setCollegesSelectedList] = React.useState([]);
useEffect(() => {
const defaultState = {
name: "--select--"
};
setCollegesList([...collegesList, defaultState]);
console.log("initial load");
}, []);
const onFinish = (values) => {
console.log("Received values of form: ", values);
};
return (
<Form name="validate_other" onFinish={onFinish}>
<Form.Item name="select" label="Select">
<Select
placeholder="Please select a country"
onChange={(college) => {
setCollegesSelectedList([
...collegesSelectedList,
collegesList[college].name
]);
}}
>
{Object.keys(collegesList).map((college) => (
<Option value={college}>{collegesList[college].name}</Option>
))}
</Select>
</Form.Item>
</Form>
);
};
export default App;
解决方案
只需更新您的 setCollegesList 如下:
setCollegesList([defaultState, ...collegesList]);
console.log("initial load");
}, []);
它会起作用我在这里更新了codesandbox供您参考:https ://codesandbox.io/s/upbeat-firefly-6mqip?file=/src/App.js
推荐阅读
- android - How to fix java.lang.AbstractMethodError in android?
- python - 用列值上另一个数据框的相同行替换数据框行
- c# - 使用 Autofac 有没有办法在不解析的情况下获取当前在作用域中注册的具体类型?
- python - 设置 PyTorch 图像分类器时出现未知错误
- python - 将 csv.writer(open()) - Python 更改为 PySpark
- bash - 我可以在 shell 脚本中设置断点吗?
- reactjs - 在 React Native 中结合 DrawerNavigator 和 TabsNavigator 而不“嵌套”
- javascript - 如何模拟函数的函数?
- python - 用 Python 绘制实际和预测(时间序列预测)
- r - MCMClogit 作为置换测试