2019-01-12 11:33:27 +08:00
|
|
|
import PropTypes from '../_util/vue-types';
|
|
|
|
import LazyRenderBox from './LazyRenderBox';
|
2020-01-19 16:58:38 +08:00
|
|
|
import { getListeners } from '../_util/props-util';
|
2017-12-22 18:43:28 +08:00
|
|
|
|
|
|
|
export default {
|
|
|
|
props: {
|
|
|
|
hiddenClassName: PropTypes.string.def(''),
|
|
|
|
prefixCls: PropTypes.string,
|
2017-12-25 18:08:36 +08:00
|
|
|
visible: PropTypes.bool,
|
2017-12-22 18:43:28 +08:00
|
|
|
},
|
2019-01-12 11:33:27 +08:00
|
|
|
render() {
|
|
|
|
const { prefixCls, visible, hiddenClassName } = this.$props;
|
2018-01-12 16:10:41 +08:00
|
|
|
const divProps = {
|
2020-01-19 16:58:38 +08:00
|
|
|
on: getListeners(this),
|
2019-01-12 11:33:27 +08:00
|
|
|
};
|
2018-01-15 17:33:34 +08:00
|
|
|
|
2017-12-22 18:43:28 +08:00
|
|
|
return (
|
2018-01-15 17:33:34 +08:00
|
|
|
<div {...divProps} class={!visible ? hiddenClassName : ''}>
|
2017-12-22 18:43:28 +08:00
|
|
|
<LazyRenderBox class={`${prefixCls}-content`} visible={visible}>
|
|
|
|
{this.$slots.default}
|
|
|
|
</LazyRenderBox>
|
|
|
|
</div>
|
2019-01-12 11:33:27 +08:00
|
|
|
);
|
2017-12-22 18:43:28 +08:00
|
|
|
},
|
2019-01-12 11:33:27 +08:00
|
|
|
};
|