做AntdForVue/Vue时遇到的坑

发布于 2021-07-22  592 次阅读


AntdForVue组件本身的

  • a-input中失焦与placeholder会有冲突
  • a-table里的resetField会恢复为你第一次打开表格设置的值,它会导致你想清空但却显示第一个表项,所以我尽量不用
  • a-popconfirm里面必须非常干净,里面不能有a-button甚至不能有注释,可以有a或者a-checkable-tag
  • 子组件里有a-tab要注意,默认进入的activeKey会共用一个池子,所以应该是从父组件传值,这样才能保证每次都进入第一个
  • a-tree中的@select事件不能连续点击同一个结点两次,是其内部的bug,事件传参就是空,解决方法是用第二个参数e.node.pos
  • a-tab-pane v-for="(item, index) in itemList" key="index + 1" 此时defaultActiveKey会失效,最好是key为其他内容和index无关

Vue本身的

  • 只有选择vue2.0才能正常使用ant-design-vue
  • vue里的绑定数据不能是深层对象或二维数组的解决方法:
    • 深层对象可以试着使用this.$set(…);
    • 二维数组可以使用一个额外的变量(举例this.switch)来帮助刷新DOM,比如在DOM里是v-if="this.switch" v-for="itemList[item.id]",而在获取itemList的地方比如什么异步请求里再加上{… this.switch = false; this.itemList = res.data; this.switch = true; …}。经过精彩卓绝的尝试后,我发现这俩贴着itemList的赋值越近越不容易出错

暂时还没找到人生乐趣的消极家