11import React from 'react' ;
2- import { Popup , Picker , CityPicker , Form , FormCell , CellBody , CellHeader , Label , Input } from '../../../build/packages' ;
2+ //import { Popup, Picker, CascadePicker, CityPicker, Form, FormCell, CellBody, CellHeader, Label, Input } from '../../../build/packages';
3+ import { Popup , Picker , CascadePicker , CityPicker , Form , FormCell , CellBody , CellHeader , Label , Input } from '../../../src' ;
34import Page from '../../component/page' ;
45import cnCity from './cnCity' ;
56
7+
68class PickerDemo extends React . Component {
79
810 state = {
911 picker_show : false ,
1012 picker_value : '' ,
1113 picker_group : [
12- {
13- items : [
14- {
15- label : 'Item1'
16- } ,
17- {
18- label : 'Item2 (Disabled)' ,
19- disabled : true
20- } ,
21- {
22- label : 'Item3'
23- } ,
24- {
25- label : 'Item4'
26- } ,
27- {
28- label : 'Item5'
29- }
30- ]
31- }
14+ [
15+ {
16+ label : 'A1 (Disabled)' ,
17+ value : 'A1' ,
18+ disable : true
19+ } ,
20+ {
21+ label : 'A2' ,
22+ value : 'A2' ,
23+ } ,
24+ {
25+ label : 'A3' ,
26+ value : 'A3' ,
27+ } ,
28+ {
29+ label : 'A4 (Disabled)' ,
30+ value : 'A4' ,
31+ disable : true
32+ } ,
33+ {
34+ label : 'A5' ,
35+ value : 'A5' ,
36+ } ,
37+ {
38+ label : 'A6' ,
39+ value : 'A6' ,
40+ } ,
41+ {
42+ label : 'A7' ,
43+ value : 'A7' ,
44+ }
45+ ] ,
46+ [
47+ {
48+ label : 'B1' ,
49+ value : 'B1' ,
50+ } ,
51+ {
52+ label : 'B2' ,
53+ value : 'B2' ,
54+ } ,
55+ {
56+ label : 'B3 (Disabled)' ,
57+ value : 'B3' ,
58+ disable : true ,
59+ } ,
60+ {
61+ label : 'B4' ,
62+ value : 'B4' ,
63+ } ,
64+ ] ,
65+ [
66+ {
67+ label : 'C1' ,
68+ value : 'C1' ,
69+ } ,
70+ {
71+ label : 'C2' ,
72+ value : 'C2' ,
73+ } ,
74+ {
75+ label : 'C3 (Disabled)' ,
76+ value : 'C3' ,
77+ disable : true ,
78+ } ,
79+ {
80+ label : 'C4' ,
81+ value : 'C4' ,
82+ } ,
83+ ] ,
84+ ] ,
85+ picker_cascade : [
3286 ] ,
3387 city_show : false ,
34- city_value : ''
88+ cascade_show : false ,
89+ city_value : '' ,
90+ cascade_value : '' ,
3591 } ;
3692
3793 hide ( ) {
@@ -66,11 +122,50 @@ class PickerDemo extends React.Component {
66122 < CityPicker
67123 data = { cnCity }
68124 onCancel = { e => this . setState ( { city_show : false } ) }
125+ onOk = { text => this . setState ( { city_value : text , city_show : false } ) }
69126 onChange = { text => this . setState ( { city_value : text , city_show : false } ) }
70127 show = { this . state . city_show }
71128 />
72129
130+ < Form >
131+ < FormCell >
132+ < CellHeader >
133+ < Label > Cascade</ Label >
134+ </ CellHeader >
135+ < CellBody >
136+ < Input type = "text"
137+ value = { this . state . cascade_value }
138+ onClick = { e => {
139+ e . preventDefault ( ) ;
140+ this . setState ( { cascade_show : true } )
141+ } }
142+ placeholder = "Chose Your cascade value"
143+ readOnly = { true }
144+ />
145+ </ CellBody >
146+ </ FormCell >
147+ </ Form >
148+ < CascadePicker
149+ data = { cnCity }
150+ datamap = { { text : 'name' , value : 'code' , sub : 'sub' } }
151+ onCancel = { e => this . setState ( { cascade_show : false } ) }
152+ onOk = { selected => {
153+ let value = cnCity ;
73154
155+ selected . forEach ( ( s , i ) => {
156+ if ( i === selected . length - 1 ) {
157+ value = cnCity [ s ] . code
158+ } else {
159+ value = value [ s ] . sub ;
160+ }
161+ } )
162+ this . setState ( {
163+ cascade_value : value ,
164+ cascade_show : false
165+ } )
166+ } }
167+ show = { this . state . cascade_show }
168+ />
74169
75170 < Form >
76171 < FormCell >
@@ -93,17 +188,18 @@ class PickerDemo extends React.Component {
93188 </ Form >
94189
95190 < Picker
96- onChange = { selected => {
191+ onOk = { selected => {
97192 let value = ''
98193 selected . forEach ( ( s , i ) => {
99- value = this . state . picker_group [ i ] [ 'items' ] [ s ] . label
194+ value + = this . state . picker_group [ i ] [ s ] . value
100195 } )
101196 this . setState ( {
102197 picker_value : value ,
103198 picker_show : false
104199 } )
105200 } }
106- groups = { this . state . picker_group }
201+ data = { this . state . picker_group }
202+ datamap = { { text : 'label' } }
107203 show = { this . state . picker_show }
108204 onCancel = { e => this . setState ( { picker_show : false } ) }
109205 />
0 commit comments