vue3:el-collapse折叠面板怎么实现箭头在左侧,且箭头同一行有两个按钮,折叠面板展开和收缩按钮都和箭头在同一行位置不变

问:

elementplus折叠面板组件怎么让箭头在最左侧,且箭头右侧有两个按钮,展开和收缩的过程中右侧的两个按钮位置不会改变仍然和箭头在同一行?

回答:

但由于设计需要,需要将箭头放在最左边,通过f12代码调试发现header是flex布局
,因此修改后的面板部分代码如下:
 
<el-collapse accordion v-model="activeNames" @change="handleChange">
                            <el-collapse-item name="1">
                                <span class="collapse-title" slot="title">一致性 Consistency</span>
                                <div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
                                <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
                            </el-collapse-item>
                            <el-collapse-item name="2">
                                <span class="collapse-title" slot="title">反馈 Feedback</span>
                                <div>控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;</div>
                                <div>页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。</div>
                            </el-collapse-item>
                            <el-collapse-item name="3">
                                <span class="collapse-title" slot="title">效率 Efficiency</span>
                                <div>简化流程:设计简洁直观的操作流程;</div>
                                <div>清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;</div>
                                <div>帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。</div>
                            </el-collapse-item>
                            <el-collapse-item name="4">
                                <span class="collapse-title" slot="title">可控 Controllability</span>
                                <div>用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;</div>
                                <div>结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。</div>
                            </el-collapse-item>
                        </el-collapse>

对标题部分设置为slot自定义,外层包裹一个自定义类collapse-title,对这个类赋予样式,如下:

<style scoped lang='scss'>
::v-deep .collapse-title {
  flex: 1 0 90%;
  // 实线箭头在最左侧的核心,设置了order:1就实现了箭头在按钮左侧,否则箭头就在按钮右侧
  order: 1; 
  .el-collapse-item__header {
    flex: 1 0 auto;
    order: -1;
  }
}
</style>

这样我们就实现了箭头在右侧文字的左边或者我们可以将右侧的文字:
 

el-collapse accordion
    el-collapse-item
        template v-slot:title
          span class= collapse-title
             el-form-item
                el-buttom @click.stop 查询
             el-form-item
                el-buttom @click.stop=xxx 新建

这样我们就将右侧的文字替换成了按钮,且这时候我们点击折叠面板的收缩展开箭头右侧的按钮也不会移动位置,还是在箭头的右侧,同时我们添加了@click.stop我们点击按钮也不会事件冒泡到下面的折叠面板。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值