Welink React-ui表单组件Picker

举报
云会议运营喵大人 发表于 2020/02/21 18:27:35 2020/02/21
【摘要】 Picker多列选择器。Picker UI 提供与WeLink规范一致的视图。 主要包括:单列选择器、双列选择器、日期选择器。参数说明参数类型默认值说明groupsarray-选择器选项数组defaultSelectarray-选择的初始值索引showboolfalse是否显示picker组件onChangefunc-选择器选中的回调事件onCancelfunc-取消回调事件langobje...

Picker


多列选择器。Picker UI 提供与WeLink规范一致的视图。 主要包括:单列选择器、双列选择器、日期选择器。

参数说明

参数类型默认值说明
groupsarray-选择器选项数组
defaultSelectarray-选择的初始值索引
showboolfalse是否显示picker组件
onChangefunc-选择器选中的回调事件
onCancelfunc-取消回调事件
langobject{ leftBtn: 'Cancel', rightBtn: 'Ok' }左右操作按钮文案

import React from 'react';
import {
  Picker, Form, FormCell, CellBody, CellHeader, Label, Input
} from '@wecode/react-weui';

class PickerDemo extends React.Component {
  state = {
    pickerShow: false,
    pickerValue: '',
    pickerGroup: [
      {
        items: [
          {
            label: 'Item1'
          },
          {
            label: 'Item2 (Disabled)',
            disabled: true
          },
          {
            label: 'Item3'
          },
          {
            label: 'Item4'
          },
          {
            label: 'Item5'
          }
        ]
      },
      {
        items: [
          {
            label: 'Item1'
          },
          {
            label: 'Item2 (Disabled)',
            disabled: true
          },
          {
            label: 'Item3'
          },
          {
            label: 'Item4'
          },
          {
            label: 'Item5'
          }
        ]
      }
    ]
  };

  hide() {
    this.setState({
      pickerShow: false
    });
  }

  render() {
    const { pickerValue, pickerGroup, pickerShow } = this.state;
    return (
      <section>
        <Form>
          <FormCell>
            <CellHeader>
              <Label>Direct Picker</Label>
            </CellHeader>
            <CellBody>
              <Input
                type="text"
                onClick={e => {
                  e.preventDefault();
                  this.setState({ pickerShow: true });
                }}
                placeholder="Pick a item"
                value={pickerValue}
                readOnly
              />
            </CellBody>
          </FormCell>
        </Form>

        <Picker
          onChange={selected => {
            let value = '';
            selected.forEach((s, i) => {
              value = pickerGroup[i].items[s].label;
            });
            this.setState({
              pickerValue: value,
              pickerShow: false
            });
          }}
          groups={pickerGroup}
          show={pickerShow}
          onCancel={e => this.setState({ pickerShow: false })}
        />
      </section>
    );
  }
}
export default PickerDemo;


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。