wetrade-design
Version:
一款多语言支持Vue3的UI框架
69 lines (68 loc) • 1.87 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.barProps = void 0;
var _vue = require("vue");
var _utils = require("./utils");
var _thumb = _interopRequireDefault(require("./thumb"));
var barProps = function barProps() {
return {
always: {
type: Boolean,
default: true
},
width: String,
height: String,
ratioX: {
type: Number,
default: 1
},
ratioY: {
type: Number,
default: 1
}
};
};
exports.barProps = barProps;
var Bar = (0, _vue.defineComponent)({
props: barProps(),
setup: function setup(props, _ref) {
var expose = _ref.expose;
var moveX = (0, _vue.ref)(0);
var moveY = (0, _vue.ref)(0);
var handleScroll = function handleScroll(wrap) {
if (wrap) {
var offsetHeight = wrap.offsetHeight - _utils.GAP;
var offsetWidth = wrap.offsetWidth - _utils.GAP;
moveY.value = wrap.scrollTop * 100 / offsetHeight * props.ratioY;
moveX.value = wrap.scrollLeft * 100 / offsetWidth * props.ratioX;
}
};
expose({
handleScroll: handleScroll
});
return function () {
var ratioX = props.ratioX,
ratioY = props.ratioY,
width = props.width,
height = props.height,
always = props.always;
return (0, _vue.createVNode)(_vue.Fragment, null, [(0, _vue.createVNode)(_thumb.default, {
"move": moveX.value,
"ratio": ratioX,
"size": width,
"always": always
}, null), (0, _vue.createVNode)(_thumb.default, {
"move": moveY.value,
"ratio": ratioY,
"size": height,
"vertical": true,
"always": always
}, null)]);
};
}
});
var _default = Bar;
exports.default = _default;