@alicd/crui-checkbox-field
Version:
复选框, FormItem + Checkbox【 @alicd/next 】 的功能融合,同时支持了 x-bind 双向绑定, rules 规则配置,name 表单 name 属性
92 lines (81 loc) • 2.7 kB
JSX
import React from 'react'
import ReactDOM from 'react-dom';
import toReactComponent from 'jsonml-to-react-component'
import readme from '../README.md'
import demoList from '../_data/demo-list'
import './demo.scss';
demoList && demoList.length && (
demoList.sort((a, b) => {
return a.meta.order - b.meta.order;
})
);
class Demo extends React.Component {
render (){
const { meta } = readme
return (
<div className="wrapper">
<h1>
{meta.english} {meta.chinese || meta.title}
{
!meta.subtitle ? null :
<span className="subtitle">{ meta.subtitle }</span>
}
</h1>
{
readme && readme.intro ?
toReactComponent(['section', { className: 'markdown' }].concat(readme.intro)) : null
}
{
readme && readme.description ?
toReactComponent(['section', { className: 'markdown' }].concat(readme.description)) : null
}
<section className="demo-list markdown">
{
demoList && demoList.length ?
<h3>代码演示</h3> : null
}
{
demoList && demoList.length ? demoList.map(d => {
return (
<div className="demo-list-item">
<h2>{d.meta.title}</h2>
<div className="demo-list-item-stage">
{ React.cloneElement(d.preview) }
</div>
<div className="demo-list-item-code">
<section>
<div className="highlight">
<pre>
{
d.highlightedCode ?
<code className="javascript" dangerouslySetInnerHTML={{
__html: d.highlightedCode,
}} /> : null
}
{
d.highlightedStyle &&
<code className="javascript" dangerouslySetInnerHTML={{
__html: d.highlightedStyle,
}} />
}
</pre>
</div>
</section>
</div>
</div>
)
}) : null
}
</section>
{
readme && readme.api ?
toReactComponent(['section', { className: 'markdown' }].concat(readme.api)) : null
}
</div>
)
}
}
ReactDOM.render(
<Demo />,
document.getElementById('root')
)