Screen


筛选漏斗。Screen UI UI提供与WeLink规范一致的视图。

参数说明

Selection

名称 类型 默认值 说明
value string 选中的值
dataSource array 组件数据显示数据
placeholder string 未选择是显示字样
onChange func 组件选中事件

ScreenSort

名称 类型 默认值 说明
title string 显示的文本
sort string 上下箭头显示效果,升序:asc,降序:desc
onClick func 组件的onclik事件

Screen

名称 类型 默认值 说明
active bool false 选中状态
defaultSelect array 选中的值
groups array 组件数据显示数据
onOkClick func 确认按钮事件
resetText string '重置条件' 重置按钮文本
okText string '确定' 确认按钮文本

效果示例

HTML
import React from 'react';
import {
  Selection, ScreenArea, Screen, ScreenSort
} from '@wecode/react-weui';

export default class ScreenDemo extends React.Component {
  state = {
    defaultValue1: 'Jose Robinson',
    defaultValue2: '',
    arrayList: [
      { label: 'Elizabeth Anderson', value: 'Elizabeth Anderson' },
      { label: 'Sarah Martin', value: 'Sarah Martin' },
      { label: 'Cynthia Hall', value: 'Cynthia Hall' },
      { label: 'Anthony Miller', value: 'Anthony Miller' },
      { label: 'Karen Hall', value: 'Karen Hall' },
      { label: 'Steven Jones', value: 'Steven Jones' },
      { label: 'Jennifer Martinez', value: 'Jennifer Martinez' },
      { label: 'Joseph Jones', value: 'Joseph Jones' },
      { label: 'Maria Davis', value: 'Maria Davis' },
      { label: 'Jose Robinson', value: 'Jose Robinson' },
      { label: 'Brenda Harris', value: 'Brenda Harris' },
      { label: 'Charles Martin', value: 'Charles Martin' },
      { label: 'Eric Lopez', value: 'Eric Lopez' },
      { label: 'Anna Smith', value: 'Anna Smith' },
      { label: 'Jose Lopez', value: 'Jose Lopez' },
      { label: 'Michelle Perez', value: 'Michelle Perez' },
      { label: 'Angela Smith', value: 'Angela Smith' },
      { label: 'Susan Clark', value: 'Susan Clark' },
      { label: 'Lisa Martin', value: 'Lisa Martin' },
      { label: 'Sandra Williams', value: 'Sandra Williams' },
      { label: 'Dorothy Thomas', value: 'Dorothy Thomas' },
      { label: 'Kenneth Perez', value: 'Kenneth Perez' },
      { label: 'Larry Lewis', value: 'Larry Lewis' },
      { label: 'Frank Taylor', value: 'Frank Taylor' }
    ],
    screenArray: [
      { title: '维度一', data: [{ value: '1', label: '选项1' }, '选项名称长', '选项3', '选项4', '选项5', '选项名称长', '选项7', '选项8'] },
      { title: '维度二', data: [{ value: '1', label: '选项1' }, '选项名称长', '选项3', '选项名称长', '选项名称长', '选项6', '选项7'] },
      { title: '维度三', data: [{ value: '1', label: '选项1' }, '选项名称长', '选项3', '选项4', '选项名称长', '选项名称长', '选项7', '选项8'] }
    ],
    active: true
  }

  handleChangeValue = (key, value) => {
    this.setState({ [key]: value });
  }

  render() {
    const {
      defaultValue1, defaultValue2,
      arrayList, screenArray, sort, active
    } = this.state;
    return (
      <div>
        <ScreenArea>
          <Selection
            key="1"
            value={defaultValue1}
            dataSource={arrayList}
            placeholder="请选择数据"
            onChange={value => this.handleChangeValue('defaultValue1', value)}
          />
          <ScreenSort title="发布时间" sort={sort} onClick={()=> this.setState({ sort: (sort === 'asc' ? 'desc' : 'asc') })} />
          <Selection
            key="2"
            value={defaultValue2}
            dataSource={arrayList}
            placeholder="请选择数据"
            onChange={value => this.handleChangeValue('defaultValue2', value)}
          />
          <Screen
            groups={screenArray}
            active={active}
            resetText="Reset"
            okText="OK"
            defaultSelect={[[0, 3], 3, 4, 2]}
            onOkClick={selects=>{
              if (selects && selects.length > 0) {
                const selectgrounds = selects.filter(select=>{
                  if (Array.isArray(select)) {
                    return select.filter(val=>val || val === 0);
                  }
                  return select || select === 0;
                });
                console.log('selectgrounds:', selectgrounds);
                this.setState({ active: (selectgrounds && selectgrounds.length > 0) }, ()=>{ const { active } = this.state; console.log('------active', active) ; });
                return;
              }
              this.setState({ active: false });
            }}
          >
            筛选
          </Screen>
        </ScreenArea>
      </div>
    );
  }
}

result. ""

    Not Found. ""