lowcode-engine icon indicating copy to clipboard operation
lowcode-engine copied to clipboard

[设置器问题]DateYearSetter

Open jqhr opened this issue 1 year ago • 0 comments

Describe the bug (required) / 详细描述 bug(必填)

基于fusion-lowcode-materials的这个仓库开发组件,在开发年选择器的时候,要添加一个value属性,它的设置器为DateYearPicker DateYearPicker设置器设置值直接报错


To Reproduce (required) / 如何复现 bug?(必填,非常重要)

ext-bug

meta.js 配置如下
  group: '原子组件',
  componentName: 'YearPicker',
  title: '年选择器',
  docUrl: '',
  screenshot: '',
  npm: {
    package: '@alifd/next',
    version: '{{version}}',
    exportName: 'DatePicker',
    main: '',
    destructuring: true,
    subName: 'YearPicker',
  },
  props: [
    {
      name: 'prefix',
      propType: 'string',
      defaultValue: 'next-',
    },
    {
      name: 'rtl',
      propType: 'bool',
      defaultValue: false,
    },
    {
      name: 'label',
      propType: {
        type: 'instanceOf',
        value: 'node',
      },
      description: '输入框内置标签',
    },
    {
      name: 'state',
      propType: {
        type: 'oneOf',
        value: ['success', 'loading', 'error'],
      },
      description: '输入框状态',
    },
    {
      name: 'placeholder',
      propType: 'string',
      description: '输入提示',
    },
    {
      name: 'value',
      propType: {
        type: 'instanceOf',
        value: 'custom',
      },
      description: '日期值(受控)moment 对象',
    },
    {
      name: 'defaultValue',
      propType: 'date',
      description: '初始日期值,moment 对象',
    },
    {
      name: 'format',
      propType: 'string',
      description: '日期值的格式(用于限定用户输入和展示)',
      defaultValue: 'YYYY',
    },
    {
      name: 'onChange',
      propType: 'func',
      description: '日期值改变时的回调\n@param {MomentObject|String} value 日期值',
    },
    {
      name: 'size',
      propType: {
        type: 'oneOf',
        value: ['small', 'medium', 'large'],
      },
      description: '输入框尺寸',
      defaultValue: 'medium',
    },
    {
      name: 'disabled',
      propType: 'bool',
      description: '是否禁用',
    },
    {
      name: 'hasClear',
      propType: 'bool',
      description: '是否显示清空按钮',
      defaultValue: true,
    },
    {
      name: 'defaultVisible',
      propType: 'bool',
      description: '弹层默认是否显示',
    },
    {
      name: 'onVisibleChange',
      propType: 'func',
      description:
        '弹层展示状态变化时的回调\n@param {Boolean} visible 弹层是否显示\n@param {String} reason 触发弹层显示和隐藏的来源 calendarSelect 表示由日期表盘的选择触发; fromTrigger 表示由trigger的点击触发; docClick 表示由document的点击触发',
    },
    {
      name: 'popupTriggerType',
      propType: {
        type: 'oneOf',
        value: ['click', 'hover'],
      },
      description: '弹层触发方式',
      defaultValue: 'click',
    },
    {
      name: 'popupAlign',
      propType: 'string',
      description: '弹层对齐方式, 具体含义见 OverLay文档',
      defaultValue: 'tl tl',
    },
    {
      name: 'popupContainer',
      propType: 'any',
      description: '弹层容器\n@param {Element} target 目标元素\n@return {Element} 弹层的容器元素',
    },
    {
      name: 'popupStyle',
      propType: 'object',
      description: '弹层自定义样式',
    },
    {
      name: 'popupClassName',
      propType: 'string',
      description: '弹层自定义样式类',
    },
    {
      name: 'popupProps',
      propType: 'object',
      description: '弹层其他属性',
    },
    {
      name: 'followTrigger',
      propType: 'bool',
      description: '是否跟随滚动',
    },
    {
      name: 'inputProps',
      propType: 'object',
      description: '输入框其他属性',
    },
    {
      name: 'yearCellRender',
      propType: 'func',
    },
    {
      name: 'dateInputAriaLabel',
      propType: 'string',
      description: '日期输入框的 aria-label 属性',
    },
    {
      name: 'isPreview',
      propType: 'bool',
      description: '是否为预览态',
    },
    {
      name: 'renderPreview',
      propType: 'func',
      description: '预览态模式下渲染的内容\n@param {MomentObject} value 年份',
    },
    {
      name: 'className',
      propType: 'string',
    },
    {
      name: 'name',
      propType: 'string',
    },
    {
      name: 'popupComponent',
      propType: {
        type: 'instanceOf',
        value: 'elementType',
      },
    },
    {
      name: 'popupContent',
      propType: {
        type: 'instanceOf',
        value: 'node',
      },
    },
    {
      name: 'form',
      propType: 'object',
    },
  ],
  configure: {
    props: {
      isExtends: true,
      override: [
        {
          name: 'prefix',
          condition: () => false,
        },
        {
          name: 'rtl',
          condition: () => false,
        },
        {
          name: 'value',
          title: {
            label: '值',
          },
          setter: 'DateYearSetter',
          supportVariable: true
        },
        {
          name: 'name',
          condition: () => false,
        },
        {
          name: 'defaultYearValue',
          title: {
            label: '默认值',
            tip: 'defaultValue|初始日期值,moment 对象',
          },
          setter: 'DateYearSetter',
          supportVariable: true,
        },
        {
          name: 'form',
          type: 'group',
          title: '高级',
          display: 'block',
          items: [
            {
              name: 'id',
              title: {
                label: {
                  type: 'i18n',
                  zh_CN: '唯一标识',
                  en_US: 'ID',
                },
                tip: {
                  type: 'i18n',
                  zh_CN: '属性: id | 说明: 唯一标识',
                  en_US: 'prop: id | description: switch id',
                },
              },
              setter: 'StringSetter',
              supportVariable: true,
            },
            {
              name: 'name',
              title: {
                label: {
                  type: 'i18n',
                  zh_CN: '表单标识',
                  en_US: 'Name',
                },
                tip: {
                  type: 'i18n',
                  zh_CN: '属性: name | 说明: 表单标识',
                  en_US: 'prop: name | description: switch name',
                },
              },
              setter: 'StringSetter',
              supportVariable: true,
            },
          ],
        },
      ],
    },
  },
  category: '表单',

如果我用的是DateSetter是没问题的,就是DateYearSetter有问题

Expected behavior (required) / 预期行为(必填,非常重要)

DateYearSetter能正常选择值

Environments (please complete the following information) (required): / 请提供如下信息(必填)

jqhr avatar Nov 17 '23 01:11 jqhr