ten-design-vue
Version:
ten-vue
158 lines (140 loc) • 3.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var name = 'ten-table-column';
var _default = {
name: name,
inject: ['table'],
props: {
/**
* 列的内置类型
*
* @member selector | expand
*/
type: String,
/**
* type 为 select 时指定选择列类型
*
* @member checkbox | radio
*/
selectType: {
type: String,
default: 'checkbox'
},
/**
* 表头显示的标题,支持同名slot自定义表头,
* 支持传入函数,函数参数为createElement
*/
title: [String, Function],
/**
* 字符串类型支持path写法。
* 对应列内容的字段名, 支持default slot自定义渲染内容。
* 支持传入函数,函数参数为createElement。
*/
render: [String, Function],
/**
* 列的唯一标识
*/
columnKey: String,
/**
* 列的宽度
*/
width: [String, Number],
/**
* 列的最小宽度
*/
minWidth: [String, Number],
/**
* 列对齐方式
* @member left | center |right
*/
align: {
type: String,
validator: function validator(v) {
return ['left', 'center', 'right'].indexOf(v) > -1;
}
},
/**
* 列表头对齐方式
* @member left | center |right
*/
headerAlign: {
type: String,
validator: function validator(v) {
return ['left', 'center', 'right'].indexOf(v) > -1;
}
},
/**
* 列是否固定在左侧或者右侧
*
* @member left | right
*/
fixed: {
type: [Boolean, String],
default: false,
validator: function validator(v) {
if (typeof v === 'boolean') return true;
if (typeof v === 'string') {
return ['left', 'right'].indexOf(v) > -1;
}
return false;
}
},
/**
* 自定义排序规则,方法接收3个参数,
* 启用远端排序可设置为true,并监听table sort事件
* (a, b, order) => {}
*/
sorter: {
type: [Function, Boolean],
default: false
},
/**
* 当前排序方式,受控属性
*
* @member asc | desc | default
*/
order: {
type: String,
default: 'default',
validator: function validator(v) {
return ['asc', 'desc', 'default'].indexOf(v) > -1;
}
},
/**
* 设置列合并
* (rowIndex, row, column) => {Number}
*/
colSpan: {
type: Function
},
/**
* 设置行合并
* (rowIndex, row, column) => {Number}
*/
rowSpan: {
type: Function
},
/**
* type="selector" 可用,设置表格行是否可选。
* (rowIndex, row) => {Boolean},函数参数为行号、行数据,返回一个布尔值
*/
selectable: {
type: Function
},
/**
* type="selector" 可用,禁用表头全选
*/
disabledSelectAll: {
type: Boolean,
default: false
}
},
render: function render() {
var h = arguments[0];
return h("div");
}
};
exports.default = _default;
;