vue中封装element-ui分页组件的问题?

发布于 2022-09-13 01:12:22 字数 614 浏览 17 评论 0

我想把element-ui的表格和分页组件封装成一个子组件,封装分页部分的时候遇到一个问题,就是el-pagination的“page-size”这个属性绑定的值好像不能为props中的变量不然会产生单项数据流相关的报错,例如封装的一个分页组件如下:
image.png
然后父组件中这样引入:
image.png
效果大致如下:
image.png
当我把50条/页改为10条/页时,会触发element-ui的page-size事件从而改变pageSize,但又因为这个pageSize是props,接收的fatherPageSize,会导致直接绕过了fatherPageSize变量而去更改pageSize,所以会报错:
image.png
想到过一个解决办法就是把pageSize放在data中,然后父组件通过this.$refs来传值,除此之外还有好的解决方法吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半夏半凉 2022-09-20 01:12:22

用自定义事件 https://cn.vuejs.org/v2/guide...

@current-change 的时候抛出一个事件,上级接收这个事件,改变 current-page

泛泛之交 2022-09-20 01:12:22

方法1 取巧最简单

父组件的fatherPageSize改一下
fatherPageSize:{
size:50
}
传递给子组件的时候
<children :size="fatherPageSize.size />"

方法2,

<children :pagesize.sync="fatherPageSize />"


props:{
pagesize:String
},
data(){

return {
    size:this.pagesize    

}
},
methods:{

sizeChange(v){
    this.$emit('update:pagesize',v);
    this.size=v; 

}
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文