export default()

in packages/form-render-mobile/src/widgets/Cascader/index.tsx [5:38]


export default (props: any) => {
  const { 
    placeholder = '请选择',
    value,
    onChange,
    options,
    ...rest
  } = omit(props, ['addons', 'schema']);

  const pickerRef: any = useRef(null);
  
  // 使用useImperativeHandle暴露方法给外部
  useImperativeHandle(props.addons.fieldRef, () => ({
    ...pickerRef?.current
  }));
 
  return (
    <Cascader
      {...rest}
      ref={pickerRef}
      value={value}
      options={options}
      onConfirm={onChange}
    >
      {items => {
        if (items.every(i => i === null)) {
          return <span style={{ color: '#ccc' }}>{placeholder}</span>;
        } else {
          return items.map(i => i?.label ?? '未选择').join('-')
        }
      }}
    </Cascader>
  );
}