让anujs支持rc-select
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的更多相关文章
- sqldependency 支持的select
https://msdn.microsoft.com/library/ms181122.aspx 支持的 SELECT 语句 满足下列要求的 SELECT 语句支持查询通知: 必须显式说明 SEL ...
- mysql select into 不支持
不支持的 select * into order_new from orders 改为 Create table order_new(select * from orders)
- MySQL 中隔离级别 RC 与 RR 的区别
1. 数据库事务ACID特性 数据库事务的4个特性: 原子性(Atomic): 事务中的多个操作,不可分割,要么都成功,要么都失败: All or Nothing. 一致性(Consistency): ...
- 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函数用于在非阻塞中 ...
- Linux 网络编程九(select应用--大并发处理)
//网络编程服务端 /* * 备注:因为客户端代码.辅助方法代码和epoll相同,所以select只展示服务器端代码 */ #include <stdio.h> #include < ...
- select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET (转)
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include <sys/time.h> ...
- select poll使用
select poll使用 2.1. 怎样管理多个连接?“我想同一时候监控一个以上的文件描写叙述符(fd)/连接(connection)/流(stream),应该怎么办?” 使用 select ...
- linux select 与 阻塞( blocking ) 及非阻塞 (non blocking)实现io多路复用的示例
除了自己实现之外,还有个c语言写的基于事件的开源网络库:libevent http://www.cnblogs.com/Anker/p/3265058.html 最简单的select示例: #incl ...
- mysql rr和rc区别
<pre name="code" class="html">1. 数据库事务ACID特性 数据库事务的4个特性: 原子性(Atomic): 事务中的 ...
随机推荐
- 03机器学习实战之决策树CART算法
CART生成 CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支.这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有 ...
- guava学习,集合专题
lists //JDKList<String> list = new ArrayList<String>();list.add("a");list.add( ...
- [踩坑系列]URLEncode 中对 空格的编码有 “+”和“%20”两种
URL中的空格有时候被编码成%20,有时候被编码成加号+,曾经迷糊过一段时间,后来查了下资料才搞明白. 一个URL的基本组成部分包括协议(scheme),域名,端口号,路径和查询字符串(路径参数和锚点 ...
- py-day4-2 python 内置函数
zip() #zip 拉链方法 一一对应 只要是序列类型的都可以 print(list(zip(('a','b','c'),(1,2,3)))) 结果: [('a', 1), ('b', 2), (' ...
- 【java】内部类
内部类:将一个类定义在另一个类里.对里面的那个类就是内部类. 访问特点: 1.内部类可以直接访问外部类的成员,包括私有.之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部的引用,格式 外部 ...
- 微信小程序云函数Windows下安装wx-server-sdk
第一次上传部署云函数时,会提示这个,建议在这之前先安装一下node.js. https://nodejs.org/en/ 下载nodejs,然后直接安装,在cmd控制台输入node -v和npm -v ...
- Kong(V1.0.2) Securing the Admin API
Introduction Kong的Admin API为Services, Routes, Plugins, Consumers, and Credentials的管理和配置提供了一个RESTful接 ...
- 三、thymeleaf模板引擎构建前台html, 后台使用 ModelAndView 和 Model 模型
项目源码:https://github.com/y369q369/springBoot.git -> thymeleaf 私聊QQ: 1486866853 1.pom.xml中 ...
- ORA-27302: 错误发生在: sskgpwrm1
opidrv aborting process M002 ospid (3561) as a result of ORA-600ORA-27300: 操作系统相关操作: semctl 失败, 状态为: ...
- [OutLook]关闭Outlook时最小化
关闭Outlook时最小化 dll 11.首先把dll 文件复制到C:\Users\hetao\AppData\Roaming\Microsoft\AddIns 22.然后以管理员的方式运行cmd.e ...