cell-value-render.js
861 Bytes
import { get } from '../form-new/util';
export default {
props: { row: Object, column: Object, index: [Number,String], item: Object },
render(h) {
const { row, column, index, item } = this;
if (typeof item.render === 'function') {
return item.render(h, { row, value: get(row, item.fullKey), $index: index, column });
} else {
if (item.render.children instanceof Function) {
return h(
item.render.type,
{ props: item.render.props, attrs: item.render.props, style: item.render.style },
item.render.children({ row, value: get(row, item.fullKey), $index: index, column })
);
}
return h(
item.render.type,
{ props: item.render.props, attrs: item.render.props, style: item.render.style },
item.render.children || get(row, item.fullKey)
);
}
}
}