ten-design-vue
Version:
ten-vue
48 lines (41 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = function _default(Vue) {
function checkValueType(value) {
if (typeof value !== 'boolean') throw new TypeError('The value of the instruction v-focus should be of Boolean type');
} // 切换选中的状态
function toggleSeletedState(dom, state) {
if (!dom) return null;
if (state) dom.focus();else dom.blur();
}
/**
* Sets the order
*
* @public
* @version 1.0.5
* @since Version 1.0.1
* @param {string} key Key to order
* @returns {string} Test
*/
Vue.directive('focus', {
// 当被绑定的元素插入到 DOM 中时……
inserted: function inserted(el, _ref) {
var _ref$value = _ref.value,
value = _ref$value === void 0 ? true : _ref$value;
checkValueType(value);
var inputDom = el.querySelector('input');
toggleSeletedState(inputDom, value);
},
// 当值更新时
update: function update(el, _ref2) {
var value = _ref2.value;
checkValueType(value);
var inputDom = el.querySelector('input');
toggleSeletedState(inputDom, value);
}
});
};
exports.default = _default;