85 lines
1.5 KiB
JavaScript
85 lines
1.5 KiB
JavaScript
import React , { useState , useEffect } from 'react';
|
|
import { Select } from 'antd';
|
|
import axios from 'axios';
|
|
const Option = Select.Option;
|
|
const LANGUAGE = [
|
|
"apex",
|
|
"azcli",
|
|
"bat",
|
|
"clojure",
|
|
"coffee",
|
|
"cpp",
|
|
"csharp",
|
|
"csp",
|
|
"css",
|
|
"dockerfile",
|
|
"fsharp",
|
|
"go",
|
|
"handlebars",
|
|
"html",
|
|
"ini",
|
|
"java",
|
|
"javascript",
|
|
"json",
|
|
"less",
|
|
"lua",
|
|
"markdown",
|
|
"msdax",
|
|
"mysql",
|
|
"objective",
|
|
"perl",
|
|
"pgsql",
|
|
"php",
|
|
"postiats",
|
|
"powerquery",
|
|
"powershell",
|
|
"pug",
|
|
"python",
|
|
"r",
|
|
"razor",
|
|
"redis",
|
|
"redshift",
|
|
"ruby",
|
|
"rust",
|
|
"sb",
|
|
"scheme",
|
|
"scss",
|
|
"shell",
|
|
"solidity",
|
|
"sql",
|
|
"st",
|
|
"swift",
|
|
"typescript",
|
|
"vb",
|
|
"xml",
|
|
"yaml",
|
|
];
|
|
|
|
export default (({ language , select_language })=>{
|
|
const [ languages , setLanguage ] = useState(undefined);
|
|
|
|
useEffect(()=>{
|
|
const url = '/dev_ops/languages.json';
|
|
axios.get(url).then(result=>{
|
|
if(result){
|
|
setLanguage(result.data);
|
|
}
|
|
}).catch(error=>{
|
|
console.log(error);
|
|
})
|
|
},[])
|
|
|
|
function changelanguage(value){
|
|
let array = value ? languages.filter(item=>item.name === value) :undefined;
|
|
select_language(value,array && array[0]);
|
|
}
|
|
|
|
return(
|
|
<Select showSearch={true} placeholder={"请选择文本语言"} style={{ width: 200 }} value={language} onChange={changelanguage}>
|
|
<Option value={undefined}>请选择文本语言</Option>
|
|
{languages && languages.map((item, key) => {
|
|
return <Option value={item.name}>{item.name}</Option>;
|
|
})}
|
|
</Select>
|
|
)
|
|
}) |