UNPKG

@beisen-phoenix/lookup

Version:

---

351 lines (340 loc) 16.8 kB
import React, { Component } from 'react'; import ReactDOM from 'react-dom'; import Lookup from '../../src/index'; import Button from '@beisen-phoenix/button'; import Layer from '@beisen-phoenix/unmodeled-layer'; import {options, advanceParam, selectOption, options50 } from './mock/data'; import CmpDemo from '@beisen-phoenix/demo-container'; import clonedeep from 'lodash.clonedeep'; import './index.scss' export default class extends Component { constructor (props) { super(props); this.state = { } } setVisible = (param) => { this.setState(param) } getLook = (param, visible, selectedValue) => { return <Lookup options={clonedeep(options)} onConfirm={(data) => { let _state = {} _state[visible] = false _state[selectedValue] = !(data instanceof Array) ? [data] : data this.setVisible(_state) }} onVisibleChange={() => { let _state = {} _state[visible] = false this.setVisible(_state) }} selectValue={this.state[selectedValue] || selectOption} {...param} advanceParam={advanceParam} /> } render () { return ( <div> <div className="phoenix-lookup-example--title">Lookup单选</div> <div className="phoenix-lookup-example--wrapper"> <div className="phoenix-lookup-example--flex-item"> <CmpDemo title="搜索单选" desc="带头像、搜索、全部查找、选中样式、搜索200字限制" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible || false} onVisibleChange={(visible) =>{ this.setState({visible: visible}) }} content={this.getLook({ isAvator: true, multiple:false, isAdvanceVbl:true, selectValue: selectOption }, 'visible', 'selectedValue')} footer={null} onOk={()=> {}} > <Button>单选头像无搜索,默认选中样式</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="搜索、全部查找、头象,无全部查找" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_w || false} onVisibleChange={(visible) =>{ this.setState({visible_w: visible}) }} content={this.getLook({ isAvator: false, multiple:false, isAdvanceSearchVbl:false }, 'visible_w', 'selectedValue_w')} footer={null} onOk={()=> {}} > <Button>搜索、全部查找、选中样式,无头象</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="全部查找, 无搜索、无头像" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_r || false} onVisibleChange={(visible) =>{ this.setState({visible_r: visible}) }} content={this.getLook({ isAvator: false, multiple:false, isAdvanceSearchVbl:true, isSearchBox: false }, 'visible_r', 'selectedValue_r')} footer={null} onOk={()=> {}} > <Button>全部查找, 无搜索、无头像</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="自定义按钮,自定义全部查询" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_u || false} onVisibleChange={(visible) =>{ this.setState({visible_u: visible}) }} content={this.getLook({ isAvator: false, multiple:false, moreText:'自定义名称', btnOkText:'自定义名称' }, 'visible_u', 'selectedValue_u')} footer={null} onOk={()=> {}} > <Button>自定义按钮,自定义全部查询</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="数据为空展示" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_o || false} onVisibleChange={(visible) =>{ this.setState({visible_o: visible}) }} content={this.getLook({ isAvator: false, multiple:false, options: [], searchUrl: 'https://www.italent.cn/api/v1/110006/114573828/RemindV2/Get?dateTime&qqqq' }, 'visible_o', 'selectedValue_o')} footer={null} onOk={()=> {}} > <Button>数据为空展示</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="跟随父容器宽度" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} //size={'large'} width={500} destroyPopupOnHide={true} visible={this.state.visible_s || false} onVisibleChange={(visible) =>{ this.setState({visible_s: visible}) }} content={this.getLook({ isAvator: false, multiple:false, isAdvanceSearchVbl:true, isSearchBox: false }, 'visible_s', 'selectedValue_s')} footer={null} onOk={()=> {}} > <Button>自定义宽父容器宽度,lookup跟随父容器宽度</Button> </Layer> </CmpDemo> <CmpDemo title="高级模式" desc="直接弹出高级模式单选" > <Button onClick={() => { this.setState({visible_p: true}) }}>高级模式</Button> {this.getLook({ mode:'advanced', isAvator: false, advancedVbl: this.state.visible_p, multiple:false, options: [], advanceParam: advanceParam }, 'visible_p', 'selectedValue_p')} </CmpDemo> </div> <div className="phoenix-lookup-example--flex-item"> <CmpDemo title="搜索单选" desc="搜索、全部查找、选中样式,无头象" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_q || false} onVisibleChange={(visible) =>{ this.setState({visible_q: visible}) }} content={this.getLook({ isAvator: false, multiple:false, isAdvanceVbl:true }, 'visible_q', 'selectedValue_q')} footer={null} onOk={()=> {}} > <Button>搜索、全部查找、选中样式,无头象</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="搜索、头像,无全部查找" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_e || false} onVisibleChange={(visible) =>{ this.setState({visible_e: visible}) }} content={this.getLook({ isAvator: true, multiple:false, isAdvanceVbl:true, isSearchBox: false }, 'visible_e', 'selectedValue_e')} footer={null} onOk={()=> {}} > <Button>搜索、头像,无全部查找</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="全部查找,无搜索、无头像" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_y || false} onVisibleChange={(visible) =>{ this.setState({visible_y: visible}) }} content={this.getLook({ isAvator: true, multiple:false, isAdvanceSearchVbl:false, isSearchBox: false }, 'visible_y', 'selectedValue_y')} footer={null} onOk={()=> {}} > <Button>头像, 无全部查找、无搜索</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="loading" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_i || false} onVisibleChange={(visible) =>{ this.setState({visible_i: visible}) }} content={this.getLook({ isAvator: false, multiple:false, options: [] }, 'visible_i', 'selectedValue_i')} footer={null} onOk={()=> {}} > <Button>loading</Button> </Layer> </CmpDemo> <CmpDemo title="搜索单选" desc="最多限制加载50条" > <Layer extraCls="unmodeled-layer-lookup" trigger={['click']} size={'large'} destroyPopupOnHide={true} visible={this.state.visible_a || false} onVisibleChange={(visible) =>{ this.setState({visible_a: visible}) }} content={this.getLook({ isAvator: true, multiple:false, isSearchBox: false, options: clonedeep(options50) }, 'visible_a', 'selectedValue_a')} footer={null} onOk={()=> {}} > <Button>最多限制加载50条</Button> </Layer> </CmpDemo> </div> </div> </div> ) } }