vue-ant-patterns
Version:
vue-ant-patterns
118 lines (106 loc) • 3.4 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _string = require('../_biz-utils/string');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = {
props: {
params: Object,
isSingle: Boolean,
comPath: String,
vSelectedRowKeys: Array,
vSelectedRows: Array,
treeSelectedKeys: Array
},
data: function data() {
var _$props = this.$props,
vSelectedRowKeys = _$props.vSelectedRowKeys,
vSelectedRows = _$props.vSelectedRows;
return {
comName: '',
v_selecteKeys: vSelectedRowKeys,
v_selectedRows: vSelectedRows,
comParams: {},
path: ''
};
},
created: function created() {
var _$props2 = this.$props,
comPath = _$props2.comPath,
params = _$props2.params;
var path = (0, _string.strTrim)(comPath).split('?')[0];
// sting 转成object
var comParams = this.toQueryObject((0, _string.strTrim)(comPath).split('?')[1]);
this.path = path;
this.comName = path.split('.vue')[0];
this.comParams = (0, _extends3['default'])(comParams || {}, params); // 传参
try {
// this.$options.components[this.comName] = require(`@/views/${path}`)['default'];
this.$options.components[this.comName] = function () {
// 解决异步程序 try 失效
try {
return import('@/views/' + path);
} catch (e) {
console.log(e);
return null;
}
};
} catch (e) {}
},
methods: {
selectHandler: function selectHandler(selectedRowKeys, selectedRows) {
this.v_selecteKeys = selectedRowKeys;
this.v_selectedRows = selectedRows;
this.$emit('select', selectedRowKeys, selectedRows);
},
// string转成object
toQueryObject: function toQueryObject(queryString) {
var queryObj = {};
if (!!queryString) {
var foo = queryString.split('&');
for (var i = foo.length; i--;) {
var index = foo[i].indexOf('=');
if (index !== -1) {
var n = foo[i].substring(0, index);
var v = foo[i].substring(index + 1, foo[i].length);
queryObj[n] = v;
}
}
}
return queryObj;
}
},
mounted: function mounted() {
this.$emit('dyComMounted', this);
},
render: function render(createElement) {
var _$props3 = this.$props,
vSelectedRowKeys = _$props3.vSelectedRowKeys,
vSelectedRows = _$props3.vSelectedRows,
isSingle = _$props3.isSingle;
var comParams = this.comParams,
comName = this.comName;
return createElement(comName, {
props: (0, _extends3['default'])({}, this.$props, {
dSelectedRowKeys: vSelectedRowKeys,
dSelectedRows: vSelectedRows,
comParams: comParams,
isSingle: isSingle
}),
on: (0, _extends3['default'])({}, this.$listeners, {
select: this.selectHandler
}),
ref: 'dyCustom'
});
}
}; /*
* @Author: your name
* @Date: 2020-06-08 16:22:44
* @LastEditTime: 2021-05-12 10:14:30
* @LastEditors: w.pengfei
* @Description: 动态加载组件
* @FilePath: \hcm6-patterns\biz\b-search-helper\dyCustom.js
*/