diff --git a/src/components/ScrollPane/index.vue b/src/components/ScrollPane/index.vue index bc40129c..452972ed 100644 --- a/src/components/ScrollPane/index.vue +++ b/src/components/ScrollPane/index.vue @@ -20,10 +20,8 @@ export default { methods: { handleScroll(e) { const eventDelta = e.wheelDelta || -e.deltaY * 40 - this.scrollWrapper.scrollLeft = this.scrollWrapper.scrollLeft + eventDelta / 4 - }, - scrollLeft(offsetLeft) { - this.scrollWrapper.scrollLeft = offsetLeft + const $scrollWrapper = this.$refs.scrollContainer.$refs.wrap + $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4 } } } diff --git a/src/utils/index.js b/src/utils/index.js index 1370a423..fbcb4602 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -91,20 +91,19 @@ export function getQueryObject(url) { } /** - *get getByteLen - * @param {Sting} val input value + * @param {Sting} input value * @returns {number} output value */ -export function getByteLen(val) { - let len = 0 - for (let i = 0; i < val.length; i++) { - if (val[i].match(/[^\x00-\xff]/gi) != null) { - len += 1 - } else { - len += 0.5 - } +export function byteLength(str) { + // returns the byte length of an utf8 string + let s = str.length + for (var i = str.length - 1; i >= 0; i--) { + const code = str.charCodeAt(i) + if (code > 0x7f && code <= 0x7ff) s++ + else if (code > 0x7ff && code <= 0xffff) s += 2 + if (code >= 0xDC00 && code <= 0xDFFF) i-- } - return Math.floor(len) + return s } export function cleanArray(actual) { diff --git a/src/views/layout/components/TagsView.vue b/src/views/layout/components/TagsView.vue index 7fbfbe37..0fe967c5 100644 --- a/src/views/layout/components/TagsView.vue +++ b/src/views/layout/components/TagsView.vue @@ -1,6 +1,6 @@