onebay / vite-plugin-imp

A vite plugin for import library component style automatic.
MIT License
231 stars 24 forks source link

React + antd +vite 按需引入antd 样式,一些组件样式存在问题,比如 Select、DatePicker、Menu #9

Closed Jinyang79 closed 3 years ago

Jinyang79 commented 3 years ago

Describe the bug React + antd +vite 按需引入antd 样式,一些组件样式存在问题,比如 Select、DatePicker、Menu

Libarary Info "antd": "^4.15.4", "vite": "^2.3.4", "vite-plugin-imp": "^2.0.7",

To Reproduce

import { Select } from 'antd';
// ...
    <Select defaultValue="lucy" style={{ width: 120 }}>
      <Option value="jack">Jack</Option>
      <Option value="lucy">Lucy</Option>
      <Option value="Yiminghe">yiminghe</Option>
    </Select>
    vitePluginImp({
      libList: [
        {
          libName: 'antd',
          style: (name) => `antd/lib/${name}/style/index.less`,
        }
      ]
    })

Expected behavior 点击 Select 显示 Option,失去焦点隐藏 Option

Error message 点击 Select 显示 Option,失去焦点没有隐藏 Option 如图

2uu238.png

Jinyang79 commented 3 years ago

解决了,我改成这个就行了

    vitePluginImp({
      libList: [
        {
          libName: 'antd',
          style: (name) => `antd/es/${name}/style`
        }
      ]
    })
psaren commented 3 years ago

对于有内部引用的组件是需要这样去使用

AaronWing commented 3 years ago

对于有内部引用的组件是需要这样去使用

antd@4.x 还需要这个插件来实现样式按需加载吗?貌似 vite 自身已经实现了吧?

psaren commented 3 years ago

@AaronWing
这应该不可能吧,每个组件库的样式文件都可能存放在不同的地方

psaren commented 3 years ago

@AaronWing

对于有内部引用的组件是需要这样去使用

antd@4.x 还需要这个插件来实现样式按需加载吗?貌似 vite 自身已经实现了吧?

这应该不可能吧,每个组件库的样式文件都可能存放在不同的地方 vite自身实现的是组件可以按需加载,但是组件样式还是需要这个插件去按需引用