比如我要重写UniFilePicker的delFile方法,给该方法增加一个确认弹窗,首先创建一个FilePicker.js
注意,一定是要js文件,如果是vue文件,会导致模版和样式丢失,我估计原因是vue文件在编译器解析时候,就是固定按template、script、style来解析的,就算不写template也认为是空
通过 mixins 继承父组件的所有内容,然后就可以根据需求修改,实现想要的组件
// FilePicker.js
import UniFilePicker from "@/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue";
export default {
name: "FilePicker",
mixins: [UniFilePicker],
components: {
UniFilePicker
},
/**
* 重写删除文件方法
* @param {Object} index
*/
methods: {
async delFile(index) {
console.log('--delFile--', index)
await modal.confirm('确定要删除该文件吗?')
this.$emit('delete', {
index,
tempFile: this.files[index],
tempFilePath: this.files[index].url
})
}
},
}