FrameUi/1.0/validateForm.js

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

//数据类型
var frameUi_validateForm = window.frameUi_validateForm || {};
frameUi_validateForm.validateIdx =1;
var validateDataTypes = {};
//验证指定
Vue.directive('validate', { //初始化或组件中的key改变时会触发
    bind: function (el, binding, vnode, oldVnode) {
        var vue = vnode.context;
        var config = binding.value;
        var validateFormItems = vue.validateFormItems;
        if (validateFormItems == undefined) {
            validateFormItems = [];
            vue.validateFormItems = validateFormItems;
        }
        config.el = el;
        var idx = frameUi_validateForm.validateIdx;
        var oldIdx = -1;
        if (binding.oldValue && binding.oldValue.idx) {
            oldIdx = binding.oldValue.idx;
        } else {
            oldIdx = binding.value.idx;
        }
        if (oldIdx == undefined) {
            oldIdx = -1;
        }
        if (oldIdx >= 0) {
            config.idx = oldIdx;//序号
            config.binded = true;
            var arrayIndex = validateFormItems.findIndex(function (item) { return item.idx == oldIdx});
            if (arrayIndex >= 0) {
                validateFormItems[arrayIndex] = config;
            }
        } else
        {
            config.binded = true;
            config.idx = idx;//序号
            validateFormItems.push(config);
        }
        frameUi_validateForm.validateIdx++;
    },
    unbind: function (el, binding, vnode, oldVnode) { //v-if或key改变会触发
        var idx = -1;
        if (binding.oldValue != undefined) {
            idx = binding.oldValue.idx;
        }
        else {
            idx=binding.value.idx;
        }
        if (idx == undefined) { return; }
        var vue = vnode.context;
        var validateFormItems = vue.validateFormItems;
        var itemIdx = validateFormItems.findIndex(function (item) { return item.idx == idx });
        if (itemIdx >= 0) {
            var config = binding.value;
            config.binded = false;
            validateFormItems[itemIdx] = config;
        }
    },
    update: function (el, binding, vnode, oldVnode) {
        var vue = vnode.context;

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。