欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > vxe-table 如何实现直接渲染输入框控件,不需要点击编辑方式,直接就显示文本框

vxe-table 如何实现直接渲染输入框控件,不需要点击编辑方式,直接就显示文本框

2025/9/10 3:13:14 来源:https://blog.csdn.net/abc26296/article/details/148561835  浏览:    关键词:vxe-table 如何实现直接渲染输入框控件,不需要点击编辑方式,直接就显示文本框

vxe-table 如何实现直接渲染输入框控件,不需要点击编辑方式,直接就显示文本框
实现思路通过自定义插槽模板来渲染控件,基本上任何 vue 的组件都能渲染,区别就是性能可能不太好,对于需求必须要这样实现的场景就非常有用了。

查看官网:https://vxetable.cn

文本框

在这里插入图片描述

<template><div><vxe-grid v-bind="gridOptions"><template #role_default="{ row }"><vxe-input v-model="row.role"></vxe-input></template></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({border: true,showOverflow: true,columns: [{ type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'role', title: '角色', slots: { default: 'role_default' } }],data: [{ id: 10001, name: 'Test1', role: 'Develop' },{ id: 10002, name: 'Test2', role: 'Test' },{ id: 10003, name: 'Test3', role: 'PM' }]
})
</script>

文本域

由于多行文本跟输入框是不一样,还需要再设置一个行高,才能确保可以渲染多行文本域
在这里插入图片描述

<template><div><vxe-grid v-bind="gridOptions"><template #remark_default="{ row }"><vxe-textarea v-model="row.remark" style="height: 80px;"></vxe-textarea></template></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({border: true,showOverflow: true,cellConfig: {height: 100},columns: [{ type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'remark', title: '备注', width: 300, slots: { default: 'remark_default' } }],data: [{ id: 10001, name: 'Test1', remark: '备注11 备注 备注 备注 注' },{ id: 10002, name: 'Test2', remark: '备注22 备注 备注 备注备注备注 注' },{ id: 10003, name: 'Test3', remark: '备注 备注333 备注 备注备注333备注备注备注 备注备注333备注备注备注 备注备注333备注备注备注' }]
})
</script>

以上就实现了不需要点击单元格,直接就能编辑单元格控件。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词