ivue-material-plus
Version:
A high quality UI components Library with Vue.js
1 lines • 2.42 kB
Source Map (JSON)
{"version":3,"file":"line-clamp.mjs","sources":["../../../../../src/utils/directives/line-clamp.ts"],"sourcesContent":["import { Ref } from 'vue';\r\nimport { addClass, removeClass } from '../../utils/assist';\r\n\r\n// 限制文本最多显示几行,以...结束,仅适用于 webkit 内核浏览器\r\n\r\nexport default {\r\n mounted(el: HTMLElement, binding: Ref<string | number>) {\r\n if (binding.value) {\r\n // 1行省略使用兼容样式\r\n if (Number(binding.value) === 1) {\r\n addClass(el, 'ivue-line-clamp-nowrap');\r\n }\r\n // 多行\r\n else {\r\n addClass(el, 'ivue-line-clamp');\r\n\r\n el.style['-webkit-line-clamp'] = binding.value;\r\n }\r\n }\r\n },\r\n updated(el: HTMLElement, binding: Ref<string | number>) {\r\n if (binding.value) {\r\n // 先删除样式\r\n removeClass(el, 'ivue-line-clamp');\r\n removeClass(el, 'ivue-line-clamp-nowrap');\r\n\r\n // 1行省略使用兼容样式\r\n if (Number(binding.value) === 1) {\r\n addClass(el, 'ivue-line-clamp-nowrap');\r\n }\r\n // 多行\r\n else {\r\n addClass(el, 'ivue-line-clamp');\r\n\r\n el.style['-webkit-line-clamp'] = binding.value;\r\n }\r\n }\r\n },\r\n unmounted(el: HTMLElement) {\r\n removeClass(el, 'ivue-line-clamp');\r\n removeClass(el, 'ivue-line-clamp-nowrap');\r\n\r\n el.style['-webkit-line-clamp'] = null;\r\n },\r\n};\r\n"],"names":[],"mappings":";;AAKA,gBAAe;AAAA,EACb,OAAA,CAAQ,IAAiB,OAA+B,EAAA;AACtD,IAAA,IAAI,QAAQ,KAAO,EAAA;AAEjB,MAAA,IAAI,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,KAAM,CAAG,EAAA;AAC/B,QAAA,QAAA,CAAS,IAAI,wBAAwB,CAAA,CAAA;AAAA,OAGlC,MAAA;AACH,QAAA,QAAA,CAAS,IAAI,iBAAiB,CAAA,CAAA;AAE9B,QAAG,EAAA,CAAA,KAAA,CAAM,wBAAwB,OAAQ,CAAA,KAAA,CAAA;AAAA,OAC3C;AAAA,KACF;AAAA,GACF;AAAA,EACA,OAAA,CAAQ,IAAiB,OAA+B,EAAA;AACtD,IAAA,IAAI,QAAQ,KAAO,EAAA;AAEjB,MAAA,WAAA,CAAY,IAAI,iBAAiB,CAAA,CAAA;AACjC,MAAA,WAAA,CAAY,IAAI,wBAAwB,CAAA,CAAA;AAGxC,MAAA,IAAI,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,KAAM,CAAG,EAAA;AAC/B,QAAA,QAAA,CAAS,IAAI,wBAAwB,CAAA,CAAA;AAAA,OAGlC,MAAA;AACH,QAAA,QAAA,CAAS,IAAI,iBAAiB,CAAA,CAAA;AAE9B,QAAG,EAAA,CAAA,KAAA,CAAM,wBAAwB,OAAQ,CAAA,KAAA,CAAA;AAAA,OAC3C;AAAA,KACF;AAAA,GACF;AAAA,EACA,UAAU,EAAiB,EAAA;AACzB,IAAA,WAAA,CAAY,IAAI,iBAAiB,CAAA,CAAA;AACjC,IAAA,WAAA,CAAY,IAAI,wBAAwB,CAAA,CAAA;AAExC,IAAA,EAAA,CAAG,MAAM,oBAAwB,CAAA,GAAA,IAAA,CAAA;AAAA,GACnC;AACF,CAAA;;;;"}