MeasureCell.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { createVNode as _createVNode, createTextVNode as _createTextVNode } from "vue";
  2. import { defineComponent, onMounted, ref } from 'vue';
  3. import VCResizeObserver from '../../vc-resize-observer';
  4. export default defineComponent({
  5. name: 'MeasureCell',
  6. props: ['columnKey'],
  7. setup(props, _ref) {
  8. let {
  9. emit
  10. } = _ref;
  11. const tdRef = ref();
  12. onMounted(() => {
  13. if (tdRef.value) {
  14. emit('columnResize', props.columnKey, tdRef.value.offsetWidth);
  15. }
  16. });
  17. return () => {
  18. return _createVNode(VCResizeObserver, {
  19. "onResize": _ref2 => {
  20. let {
  21. offsetWidth
  22. } = _ref2;
  23. emit('columnResize', props.columnKey, offsetWidth);
  24. }
  25. }, {
  26. default: () => [_createVNode("td", {
  27. "ref": tdRef,
  28. "style": {
  29. padding: 0,
  30. border: 0,
  31. height: 0
  32. }
  33. }, [_createVNode("div", {
  34. "style": {
  35. height: 0,
  36. overflow: 'hidden'
  37. }
  38. }, [_createTextVNode("\xA0")])])]
  39. });
  40. };
  41. }
  42. });