Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
bestnihon-react-components
Advanced tools
npm i react-q-element || yarn add react-q-element
// 本地安装依赖包后,就可直接在项目中引入
// ex:
import { NavBar, TabContainer, TabContainerItem, LazyLoad, ScrollView} from 'react-q-element'
npm start 运行 demo,同时可在 demo 里面查看示例代码
在打包过程中 css 样式文件没有打包的情况下, 请添加 npm run build -- --copy-files
同时,如果你是编写一个组件库而不是单个组件的话, 在 index.js 文件中 export xxx from ‘xxx’ , 可能在某些编辑器里面会有语法报错,直接忽略,打包即可,不要纠结
├── CONTRIBUTING.md
├── README.md // readme
├── demo // demo 存放地址
│ └── src
├── nwb.config.js // nwb 基础配置
├── package.json
├── src
│ ├── LazyLoad // 懒加载
│ ├── NavBar // 导航条
│ ├── ScrollView // 上拉加载,下拉属性, scrollview
│ ├── TabContainer // 左右拖拽,父级
│ ├── TabContainerItem // 左右拖拽,子级
│ ├── index.js // 插件 export 设置
│ └── utils
├── tests
└── index-test.js
点击后自动左 || 居中对齐
点选元素后会给标签添加一个 'active' 类名, 方便样式更改, 也可以写在 onClick 事件中你来定义一些处理事件
懒加载
效果: 会在 img onload 成功之后 进行一个特效展示, opacity 0 ==>1 的过程
<LazyLoad src={图片地址} />
导航条
如果需要修改底部 bar 的样式 , 请通过类名进行样式覆盖, 不过我不推荐, 因为我这个蛮好看的
属性 | 类型 | 介绍 |
---|---|---|
data | Array | 数组, bar 内容(当传递 children 的时候就无需传 data),固定格式为 [{ name: '标题1', type: 1 }, { name: '标题2', type: 2 }, { name: '标题3', type: 3 }] |
Index | Number | 选择第 ind 个 bar, 默认第一个 bar(0) |
translate | Object | 当与 TabContainer 组件联动的时候需要接受的 bar 移动距离值, 属性固定{ distance: , transition} |
onSel | Function | 回调函数,用户点击第几个 bar, 返回 item,index ; 基本写法: onSel={(item, index) => { console.log(item. Index)}} |
isAnimate | Boolean | 是否开启点击移动动画, 默认 false |
// navData
const data = [{name: '标题1', type: 1}, {name:'标题2', type: 2}, {name:'标题3', type: 3}]
<NavBar
translate={NavBarTranslate}
onSel={(item, index) => {
console.log('navitem',item, index)
}}
data={data}
index={TabContainerIndex}
/>
// children
<NavBar
translate={NavBarTranslate}
onSel={(item, index) => {
console.log('navitem', index)
}}
index={TabContainerIndex}
>
<span>首页</span>
<span>购物车</span>
<span>我的</span>
</NavBar>
上拉加载,下拉刷新,scrollview
属性 | 类型 | 介绍 |
---|---|---|
isFetch | Boolean | 当页面没有数据的时候,开启 loading 效果,直接触发 topMethod 函数, 默认为 false |
isLoadOver | Boolean | 请求是否完成,可传字符串 || Boolean, Boolean 为 true 时默认展示字段'全部加载完毕', 传字符串就展示字符串 |
requestState | Boolean | 请求是否完成,默认 false |
isPullDown | Boolean | 是否开启下拉刷新, 默认为 false |
isPullUp | Boolean | 是否开启上拉加载, 默认为 false |
topDistance | Number | 下拉刷新 触发 阀值, 默认为 50px |
bottomDistance | Number | 上拉加载 触发 阀值, 默认为 50px |
topMethod | Function | 下拉刷新执行函数 |
bottomMethod | Function | 上拉加载执行函数 |
wrapHeight | Number | (必传)用户自定义高度, 如果没有则自动获取 scorllview 父级的高度 |
pullThreshold | Number | 上拉和下拉 最高可拉的阀值, 默认200 |
scrollX | Boolean | (必传) 横向滚动布局, 默认 false |
scrollY | Boolean | (必传)纵向滚动布局, 默认 false |
upperThreshold | Number | 距离顶部/左边多远时, 触发 onUpper 事件, 默认为 50px |
lowerThreshold | Number | 距离底部/右边多远时, 触发 onLower 事件, 默认为 50px |
onUpper | Function | 滚动到顶部/左边, 会触发 onUpper 事件 |
onLower | Function | 滚动到底部/右边, 会触发 onLower 事件 |
onScroll | Function | 滚动实时触发,传递实时scroll 的值 |
itemIndex | Number | 展示第几个内容, 默认第一个,传下标,从0开始 |
itemKey | String||Number | 展示第几个内容,与 itemIndex 只能存在一个, 需要使用时必须在传递过去的子元素中加入 key 值 |
animateTime | Number | 设置上拉下拉缓动动画完成时间 |
limit | Number | 下拉上拉移动速率调整, 公式: 拖动距离 / limit , 提升体验. 基础值为4 |
// itemKey 和 itemIndex 使用
<ScrollView
scrollX={true}
itemKey={'test2'}
>
<div style={{width: '375px', height: '100px', backgroundColor:'skyblue'}} key={'test1'}>
测试1
</div>
<div style={{width: '375px', height: '100px', backgroundColor:'green'}} key={'test2'}>
测试2
</div>
<div style={{width: '375px', height: '100px', backgroundColor:'yellow'}}>
测试3
</div>
</ScrollView>
// 上拉加载 下拉刷新使用
<ScrollView
isFetch={true}
scrollY={true}
isPullDown={true}
isPullUp={true}
topMethod={() => {
return new Promise((resolve, reject) => {
setTimeout(() => {
this.setState({
list: list.reverse(),
requestState: true },
() => {
resolve()
})
}, 2000);
})
}}
requestState={requestState}
bottomMethod={() => {
return new Promise((resolve, reject) => {
setTimeout(() => {
this.setState({
list: [...list, '我是节点1', '我是节点2', ...list, '节点3', '节点4'],
requestState: true,
isLoadOver: '全部加载完毕'
}, () => {
resolve()
})
}, 1000);
})
}}
onUpper={() => {
console.warn('到顶了')
}}
onLower={() => {
console.warn('到底了')
}}
onScroll={obj => {
console.warn('无时无刻不在触发', obj)
}}
isLoadOver={isLoadOver}
>
{list.map((item, index) => {
return <div style={{ height: '50px', lineHeight: '50px', backgroundColor: 'red', textAlign: 'center' }} key={'item' + index}>
{item}
</div>
})}
</ScrollView>
左右拖拽(必须与 TabContainerItem 搭配使用)
属性 | 类型 | 介绍 |
---|---|---|
interval | Number | 触发自动滚动下一页阀值, 默认为屏幕的1/5 |
index | Number | 展示第 index 页, 默认第一页,从0开始 |
onSel | Function | 回调函数,返回当前页数 |
onTranslate | Function | 回调函数 配合 Navbar 做 bar 联动, 返回一个对象 {distance:Number,//移动距离transition:Boolean// 是否开启动画效果} |
<TabContainer>
<TabContainerItem style={{ fontSize: '20px', backgroundColor: 'red' ,height: '500px'}}>
{arr.map(i => {
return <div key={i}>{i}</div>
})}
</TabContainerItem>
<TabContainerItem style={{ backgroundColor: 'yellow' }}>
{arr.map(i => {
return <div key={i}>{i}</div>
})}
</TabContainerItem>
<TabContainerItem style={{ backgroundColor: 'skyblue' }}>
{arr.map(i => {
return <div key={i}>{i}</div>
})}
</TabContainerItem>
</TabContainer>
在 style 属性中传下 height 属性, 不传默认全屏高度
高度必传,但是,当与 ScrollView 连用时,ScrollVIew 高度可不传. 因为 ScrollView 在没有传递 wrapHeight 的时候,自动获取父级的高度
FAQs
bestnihon-react-components React component
The npm package bestnihon-react-components receives a total of 5 weekly downloads. As such, bestnihon-react-components popularity was classified as not popular.
We found that bestnihon-react-components demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.