UNPKG

@alicd/crui-checkbox-field

Version:

复选框, FormItem + Checkbox【 @alicd/next 】 的功能融合,同时支持了 x-bind 双向绑定, rules 规则配置,name 表单 name 属性

120 lines (113 loc) 3.49 kB
--- order: 1 title: 中间状态组件 description: 通过使用 indeterminate 来渲染中间状态的组件。 --- ````jsx import CheckboxField from '@alicd/crui-checkbox-field'; import { Button } from '@alicd/next'; class App extends React.Component { state = { checked: false, indeterminate: true, disabled: false }; render() { return ( <div> <CheckboxField checked={this.state.checked} indeterminate={this.state.indeterminate} disabled={this.state.disabled} onChange={ (checked) => { this.setState({checked: checked, indeterminate: false}); } } /> <Button.Group> <Button onClick={ ()=>{ this.setState({checked: true, indeterminate: false}); } }>checked = true</Button> <Button onClick={ ()=>{ this.setState({checked: false}); } } >checked = false</Button> <Button onClick={ ()=>{ this.setState({checked: false, indeterminate: true}); } } >indeterminate = true</Button> <Button onClick={ ()=>{ this.setState({indeterminate: false}); } } >indeterminate = false</Button> <Button onClick={ ()=>{ this.setState({disabled: !this.state.disabled}); } } >toggle disabled</Button> </Button.Group> </div> ); } } ReactDOM.render(<App />, mountNode); ```` ```` template <div> <CheckboxField checked={this.state.checked} indeterminate={this.state.indeterminate} disabled={this.state.disabled} onChange={this.onChange} /> <Button.Group> <Button onClick={this.onClick1} >checked = true</Button> <Button onClick={this.onClick2} >checked = false</Button> <Button onClick={this.onClick3} >indeterminate = true</Button> <Button onClick={this.onClick4} >indeterminate = false</Button> <Button onClick={this.onClick5} >toggle disabled</Button> </Button.Group> </div> ```` ```` javascript walle.view.extend({ state : { checked: false, indeterminate: true, disabled: false }, onChange: function(checked) { this.setState({checked: checked, indeterminate: false}); }, onClick1: function() { this.setState({checked: true, indeterminate: false}); }, onClick2: function() { this.setState({checked: false}); }, onClick3: function() { this.setState({checked: false, indeterminate: true}); }, onClick4: function() { this.setState({indeterminate: false}); }, onClick5: function() { this.setState({disabled: !this.state.disabled}); } }) ````