我发现 el-form 有问题,所以我决定在我的项目中修补 element-ui。
、[email protected]
、[email protected]
、pnpm
element-ui@^2.15.14
我跑了
pnpm patch element-ui@^2.15.14
根目录补丁文件也生成了
package.json 也发生了变化
node_modules/element-ui 中的代码也发生了变化
我运行代码(pnpm dev)后,问题仍然存在。调试后发现源码没有改。
我尝试过清除缓存(
pnpm prune
),或者删除包(node_modules)并重新安装,或者清除缓存(删除node_modules/.vite并运行pnpm dev --force
),但问题仍然存在。
我之前改错了文件(
node_modules/element-ui/packages/form/src/label-wrap.vue
)。问题是form-item.js
这个文件扔了,而element-ui
的入口文件是element-ui.common.js。所以我改变了node_modules/element-ui/lib/form-item.js
文件的getLabelWidth方法
getLabelWidth: function getLabelWidth() {
if (this.$el && this.$el.firstElementChild) {
var computedWidth = window.getComputedStyle(this.$el.firstElementChild).width;
return computedWidth == 'auto' ? 'auto' : Math.ceil(parseFloat(computedWidth));
} else {
return 0;
}
},
终于成功了,