const HideCellMenus = { template: ` {{ item.title }} {{placeholder}} `, props: { defHiddenKes: { type: Array, defatut: function(){ return [] } }, id: { type: String, default: 'hideCellMenus' }, placeholder: { type: String, default: '显示更多列' }, size: { type: String, default: 'default' }, }, data() { return { visibleMenu: false, list: this.defHiddenKes.filter(item=> !item.disabled) }; }, mounted() { }, watch: { defHiddenKes: { handler: function (val) { this.list = val.filter(item=> !item.disabled) }, immediate: true }, list: { handler: function (val) { const hidekey = this.list.filter(item => !item.checked).map(item => item.key) this.$emit('change', hidekey); this.$emit('input', hidekey); }, immediate: true } }, methods: { onHideKeyChange(checked, key) { const row = this.list.find(item => item.key == key) row.checked = checked this.list.splice() } }, }; export default HideCellMenus