alifd的bug列表

1、组件赋值,包括日期选择组件,最近更新了新的必须用 dayjs,必须要补充dayjs的一些无聊,国际化什么的。

"dayjs": "^1.10.7", 必须采用这个版本

2、CloseTag 遇见 key 不渲染的问题

3、Radio Group 赋值不行。默认值出现问题

4、时间范围选择器不行。没有一次性选择的,antd 就有。

5、a&&<div>123456789</div> 出现0,那我们怎么办?!!a&&<div>123456789</div> 保证正确

6、CloseTag 不能定制close icon ,但是antd就行。

7、refs遇见redux就不行了。

8、alifd组件如何不能选择当前以前日期

<DatePicker name='receiveEndTime'
value={form['receiveRuleTypeAttributes']['receiveEndTime'] && unixTimeSpanFormate(form['receiveRuleTypeAttributes']['receiveEndTime'], "yyyy-MM-dd HH:mm:ss")}
onChange={(val) => { this.handleFormItemChangeSpecial(val, 'receiveRuleTypeAttributes', 'receiveEndTime') }}
style={{  "162px" }}
disabledDate={this.disabledDate}
/>
  disabledDate = (time, view) => {
    return moment().diff(time, 'days') > 0
  }

 9、alifd的select下拉时,在滑动滚轮时会出问题,上面和下面会出现分离。

 <FormItem label='发送对象'
                  required
                  requiredMessage='请选择发送对象'
                  style={{ marginBottom: "20px" }}>

                  <Select popupContainer='dr' name='groupId' value={form["groupId"] + ""}>
                    {form["groupId"] && <Option value={form["groupId"] + ''}>{form["groupId"] + ""}</Option>}
                  </Select>
                  <div id='dr'>
                  </div>
                </FormItem>
<div id='dr'></div> 要有一个层,将popupContainer='dr' 设置为这个层就行了。
10、自定义组件的思维:
onCallBack和refs
11、alifd的样式可以定义
12、fd 自定义高级验证
 <FormItem
              label='子任务名称:'
              required
              hasFeedback
              requiredMessage='请输入子任务名称'
              validator={fusionDebounce(this.titleExists, 1000)}
            >
export function fusionDebounce(action, idle) {
  let timer;
  return function() {
    // tslint:disable-next-line: no-this-assignment
    const context = this;
    const args = arguments;
    return new Promise((resolve, reject) => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        action.apply(context, args)
          .then(r => {
            resolve(r);
          })
          .catch(err => {
            reject(err);
          });
      }, idle);
    });
  };D
}
  titleExists = (rules, value) => {
    const { subTask: { tmpName } } = this.props;
    const { location: { query: { editType = '0' } } } = this.props.history;
    return new Promise((resolve, reject) => {
      if (value.length > 20) {
        reject([new Error('任务名称不能大于20')]);
      }
      if (editType === '1' && value === tmpName) {
        resolve();
        return;
      }
      checkDupName(value).then(r => {
        if (r.result === true) {
          reject('该子任务名称已被使用');
          return;
        }
        resolve();
      }).catch(err => {
        Message.error('网络出错');
      });
    });
  };

 4、alifd。在使用redux时,如果将表单的数据放到redux里面,那么只能输入英文,是因为redux模型变化引起弹框重新绘制导致的,所以我们不能使用value,我们应该使用defalutvalue

5、自定义的表单内控件不支持,但是antd支持,antd怎么支持的https://www.cnblogs.com/sexintercourse/p/15943893.html



原文地址:https://www.cnblogs.com/sexintercourse/p/15683052.html