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

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


回答:

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

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


回答:

方法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;

}
}

以上是 vue中封装element-ui分页组件的问题? 的全部内容, 来源链接: utcz.com/p/936018.html

回到顶部