git clone git@github.com:react-component/select.git
cd select
npm i babel-plugin-antd --save-dev
npm i

然后自己使用webpack打包,里面是用webpack2,在根目录下建立webpack-config.js

var webpack = require('webpack');
var path = require('path');
module.exports = {
context: path.resolve(__dirname, './src/'),
entry: {
app: './index.js'
},
//输出文件出口
output: {
/*
输出路径,在这我们要手动创建一个文件夹,名字可以自己命名,
输出的文件路径是相对于本文件的路径
* */
path: path.resolve(__dirname, './dist/'),
filename: '[name].js' //输出文件名,文件可以自己定义,[name]的意思是与入口文件的文件对应,可以不用[name],
},
/*
* 标题:加载器(loaders)
* 作用:需要下载不同别的加载器,如css,js,png等等
* */
module: {
rules: [
{
test: /\.jsx?$/,
exclude: [/node_modules/],
use: [
{
loader: 'babel-loader',
options: {
"presets": [ "es2015", "stage-0", "react"],
"plugins": [["antd", { "style": true }]]
}
}
]
},
{ //解析 .less
test: /\.less$/,
loader: 'style-loader!css-loader!less-loader' //从右往左 先把less解析成css,再加前缀
}
// Loaders for other file types can go here
]
},
/*
*
* */
resolve: {
extensions: [' ','.jsx','.js','.json'],
/*
* 别名配置,配置之后,可以在别的js文件中直接使用require('d3'),将导入的文件作为一个模块导入到你需要的项目中,不用配置别也可会当作模块导入项目中,只是你要重复写路径而已。
* */
alias: {}
}
}

然后改造src/index.js

import Select from './Select';
import Option from './Option';
import { SelectPropTypes } from './PropTypes';
import OptGroup from './OptGroup';
Select.Option = Option;
Select.OptGroup = OptGroup; import React from 'react';
import ReactDOM from 'react-dom';
import '../assets/index.less' class Test extends React.Component {
state = {
destroy: false,
value: String(9),
}; onChange = (e) => {
let value;
if (e && e.target) {
value = e.target.value;
} else {
value = e;
}
console.log('onChange', value);
this.setState({
value,
});
}; onDestroy = () => {
this.setState({
destroy: 1,
});
}; onBlur = (v) => {
console.log('onBlur', v);
}; onFocus = () => {
console.log('onFocus');
}; render() {
if (this.state.destroy) {
return null;
}
return (
<div style={{ margin: 20 }}>
<div style={{ height: 150 }}/> <h2>Single Select</h2> <div style={{ width: 300 }}>
<Select
value={this.state.value}
placeholder="placeholder"
dropdownMenuStyle={{ maxHeight: 200, overflow: 'auto' }}
style={{ width: 500 }}
onBlur={this.onBlur}
onFocus={this.onFocus}
allowClear
optionLabelProp="children"
optionFilterProp="text"
onChange={this.onChange}
firstActiveValue="2"
backfill
>
<Option value="01" text="jack" title="jack">
<b
style={{
color: 'red',
}}
>
jack
</b>
</Option>
<Option value="11" text="lucy">lucy</Option>
<Option value="21" disabled text="disabled">disabled</Option>
<Option value="31" text="yiminghe">yiminghe</Option>
{[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((i) => {
return <Option key={i} text={String(i)}>{i}</Option>;
})}
</Select>
</div> <p>
<button onClick={this.onDestroy}>destroy</button>
</p>
</div>
);
}
} ReactDOM.render(<Test />, document.getElementById('__react-content'));

然后命令行

webpack

建立一个index.html


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>rc-select-single</title> </head>
<body>
<div id="__react-content"></div> <script src='./dist/app.js'> </script>
</body>
</html>

最后你可以安装 npm i serve来安装一个http服务器,或者使用vs code直接打开

第一阶段完成

然后要瘦身,将react改成anujs那套东西,只要在webpack的配置对象上改一改

 alias: {
react: 'anujs',
'react-dom': 'anujs',
'prop-types': 'anujs/lib/ReactPropTypes',
'create-react-class': 'anujs/lib/createClass'
}

让anujs支持rc-select的更多相关文章

  1. sqldependency 支持的select

    https://msdn.microsoft.com/library/ms181122.aspx   支持的 SELECT 语句 满足下列要求的 SELECT 语句支持查询通知: 必须显式说明 SEL ...

  2. mysql select into 不支持

    不支持的 select * into order_new from orders 改为 Create table order_new(select * from orders)  

  3. MySQL 中隔离级别 RC 与 RR 的区别

    1. 数据库事务ACID特性 数据库事务的4个特性: 原子性(Atomic): 事务中的多个操作,不可分割,要么都成功,要么都失败: All or Nothing. 一致性(Consistency): ...

  4. select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

    http://hi.baidu.com/%B1%D5%C4%BF%B3%C9%B7%F0/blog/item/e7284ef16bcec3c70a46e05e.html select函数用于在非阻塞中 ...

  5. Linux 网络编程九(select应用--大并发处理)

    //网络编程服务端 /* * 备注:因为客户端代码.辅助方法代码和epoll相同,所以select只展示服务器端代码 */ #include <stdio.h> #include < ...

  6. select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET (转)

    select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include <sys/time.h>       ...

  7. select poll使用

    select poll使用     2.1. 怎样管理多个连接?“我想同一时候监控一个以上的文件描写叙述符(fd)/连接(connection)/流(stream),应该怎么办?” 使用 select ...

  8. linux select 与 阻塞( blocking ) 及非阻塞 (non blocking)实现io多路复用的示例

    除了自己实现之外,还有个c语言写的基于事件的开源网络库:libevent http://www.cnblogs.com/Anker/p/3265058.html 最简单的select示例: #incl ...

  9. mysql rr和rc区别

    <pre name="code" class="html">1. 数据库事务ACID特性 数据库事务的4个特性: 原子性(Atomic): 事务中的 ...

随机推荐

  1. 03机器学习实战之决策树CART算法

    CART生成 CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支.这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有 ...

  2. guava学习,集合专题

    lists //JDKList<String> list = new ArrayList<String>();list.add("a");list.add( ...

  3. [踩坑系列]URLEncode 中对 空格的编码有 “+”和“%20”两种

    URL中的空格有时候被编码成%20,有时候被编码成加号+,曾经迷糊过一段时间,后来查了下资料才搞明白. 一个URL的基本组成部分包括协议(scheme),域名,端口号,路径和查询字符串(路径参数和锚点 ...

  4. py-day4-2 python 内置函数

    zip() #zip 拉链方法 一一对应 只要是序列类型的都可以 print(list(zip(('a','b','c'),(1,2,3)))) 结果: [('a', 1), ('b', 2), (' ...

  5. 【java】内部类

    内部类:将一个类定义在另一个类里.对里面的那个类就是内部类. 访问特点: 1.内部类可以直接访问外部类的成员,包括私有.之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部的引用,格式 外部 ...

  6. 微信小程序云函数Windows下安装wx-server-sdk

    第一次上传部署云函数时,会提示这个,建议在这之前先安装一下node.js. https://nodejs.org/en/ 下载nodejs,然后直接安装,在cmd控制台输入node -v和npm -v ...

  7. Kong(V1.0.2) Securing the Admin API

    Introduction Kong的Admin API为Services, Routes, Plugins, Consumers, and Credentials的管理和配置提供了一个RESTful接 ...

  8. 三、thymeleaf模板引擎构建前台html, 后台使用 ModelAndView 和 Model 模型

    项目源码:https://github.com/y369q369/springBoot.git      ->     thymeleaf 私聊QQ: 1486866853 1.pom.xml中 ...

  9. ORA-27302: 错误发生在: sskgpwrm1

    opidrv aborting process M002 ospid (3561) as a result of ORA-600ORA-27300: 操作系统相关操作: semctl 失败, 状态为: ...

  10. [OutLook]关闭Outlook时最小化

    关闭Outlook时最小化 dll 11.首先把dll 文件复制到C:\Users\hetao\AppData\Roaming\Microsoft\AddIns 22.然后以管理员的方式运行cmd.e ...