vxe grid中form按钮组折叠状态下的span

UI需求查询表单和按钮始终要一排

万事第一步,看文档


因为是要设置折叠,就搜索的collapse 事件有form-collapse,很快哦 第一版就出来了

js 复制代码
formConfig: {    
    collapseStatus: collapseStatus.value,
}

{
    span: collapseSpan.value,
    align: 'right',
    collapseNode: true,
    slots: {
      default: () => {
        return (
          <>
            <ElButton type="primary" onClick={() => setSearchParams()}>
              查询
            </ElButton>
            <ElButton type="info" onClick={() => resetSearchParams()}>
              重置
            </ElButton>
          </>
        )
      }
    }
    }

const handleFormCollapse = (e) => {
  collapseStatus.value = e.status
  console.log('collapseStatus', collapseStatus.value)
  console.log('collapseSpan', collapseSpan.value)
}

const collapseSpan = computed(() => {
  return collapseStatus.value ? 4 : 24
})

log信息的无误的,collapseSpan会根据状态切换4或24,但效果并不是需求的

原因我理解是虽然collapseSpan状态切换了,但组件没有重新渲染,所以为默认的span:4。于是寻找重新渲染Form组件的API,很可惜没有找到。

有更准确的原理可以评论区回复

问题解决


既然没有API,那就通过CSS解决,继续看文档,item里还有个属性为className,参数和返回值为({ field, data }) => string

log信息如下

很好 查看到了按钮组的span,那就在这尝试修改下信息

js 复制代码
const collapseNodeSpan = ({ item }) => {
  item.span = collapseStatus.value ? 4 : 24
  return 'collapseNodeSpan'
}

效果如下

ok 实现了需求的效果

相关推荐
袁煦丞21 分钟前
【局域网秒传神器】LocalSend:cpolar内网穿透实验室第418个成功挑战
前端·程序员·远程工作
江城开朗的豌豆22 分钟前
Vuex数据突然消失?六招教你轻松找回来!
前端·javascript·vue.js
好奇心笔记33 分钟前
ai写代码随机拉大的,所以我准备给AI出一个设计规范
前端·javascript
江城开朗的豌豆33 分钟前
Vue状态管理进阶:数据到底是怎么"跑"的?
前端·javascript·vue.js
用户214118326360234 分钟前
dify案例分享-Dify v1.6.0 重磅升级:双向 MCP 协议引爆 AI 生态互联革命
前端
程序员海军34 分钟前
AI领域又新增协议: AG-UI
前端·openai·agent
我想说一句37 分钟前
React待办事项开发记:Hook魔法与组件间的悄悄话
前端·javascript·前端框架
真夜37 分钟前
CommonJS与ESM
前端·javascript
LaoZhangAI37 分钟前
GPT-image-1 API如何传多图:开发者完全指南
前端·后端
G等你下课39 分钟前
从点击到执行:如何优雅地控制高频事件触发频率
前端·javascript·面试