element()

in src/ui/editor/basic/ACascadePicker.tsx [61:113]


  element() {
    let show = super.getValue() || [];
    if (!_.isArray(show)) {
      show = [];
    }
    const candidate = MUtil.option(this.props.schema);

    const p = this.props.schema.props ?? {};

    if (MUtil.phoneLike()) {
      return <>
        {/* <Picker
            data={this.props.schema.option}
            extra="请选择(可选)"
            cols={2}
            value={show}
            onChange={v => {
              console.log(v);
              super.changeValue(v);
            }}
            onOk={v => {
              console.log(v);
              super.changeValue(v);
            }}
            {...p}
            >
                <div className="backfill"> {show.length > 0 ? show.join('-') : '请点击选择' } </div>
        </Picker> */}
      </>
    } else {
      return <Cascader
        key="v"
        options={candidate}
        defaultValue={show.map((item) => item.value)}
        changeOnSelect
        placeholder={super.getPlaceholder()}
        onChange={v => {
          const vLabel = [];
          v.map((item) => {
            let findItem;
            candidate.map((dataItem) => {
              findItem = findById(dataItem, item, 'label', 'value', 'children');
              if (findItem != -1) {
                vLabel.push(findItem)
              }
            })
          })
          super.changeValue(vLabel);
        }}
        {...p}
      />
    }
  }