avue-crud的表格里面的textarea拖动导致的样式错乱

表格配置:

option: {

                stripe: true,

                menu: true, // 显示操作栏

                menuWidth: 140,

                addBtn: false,

                refreshBtn: false,

                columnBtn: false,

                editBtn: false,

                delBtn: false,

                align: 'left',

                selection: false,

                index: true, //true为启用序号一列

                indexLabel: '序号',

                indexWidth: 80,

                maxHeight: 460,

                border: true,

                sortable: true,

  column: [                 

                    {

                        label: '问题',

                        prop: 'problem',

                        slot: true,

                    },

]

}

标签:<avue-crud :option="option" >

                            <template slot="problem" slot-scope="{ row }">

                                <el-input v-model="row.problem" type="textarea" size="small" placeholder="请输入"

                                    clearable>

                                </el-input>

                            </template>         </avue-crud>     

拖动textarea右下角拉大,会导致第一列和最后一列样式错乱,不能被textarea高度撑起,是因为第一列和最后一列绝对定位,脱离了位置

做法:不启用配置项,将这一列放入column中,然后用插槽;这一列高度就会随textarea的拖动高度变化

option: {

                stripe: true,

                menu: false, // 不显示操作栏

                menuWidth: 140,

                addBtn: false,

                refreshBtn: false,

                columnBtn: false,

                editBtn: false,

                delBtn: false,

                align: 'left',

                selection: false,

                index: false,

                indexLabel: '序号',

                indexWidth: 80,

                maxHeight: 460,

                border: true,

                sortable: true,

  column: [           

  {

                        label: '序号',

                        prop: 'index',

                        slot: true,

                    },

                    {

                        label: '问题',

                        prop: 'problem',

                        slot: true,

                    },

]

}

      <avue-crud :option="option" >                           

                            <template slot="index" slot-scope="{ row,index }">

                                {{ index + 1 }}

                            </template>

</avue-crud>

### 如何在 Avue-Crud 中设置 Textarea 的 Rows 属性 在 `avue-crud` 组件中,可以通过配置项来调整不同类型的输入框样式和行为。当字段的 `type` 被设置为 `textarea` 时,可以利用 `props` 或者直接通过列配置对象中的参数来控制其展示效果,比如高度、宽度以及行数。 以下是关于如何在 `avue-crud` 中针对 `textarea` 类型设置 `rows` 属性的具体方法: #### 配置方式 在 `column` 列定义数组中,可以直接添加一个名为 `props` 的键值对用于传递原生 HTML 属性给对应的组件实例。具体来说,在需要应用多行文本域的地方增加如下配置[^1]: ```javascript { label: '描述', // 字段标签名称 prop: 'description', // 数据模型绑定字段名 type: 'textarea', // 定义该列为多行文本区域 props: { rows: 4 // 设置 textarea 显示的行数 } } ``` 上述代码片段展示了如何通过 `props.rows` 来设定 `textarea` 控件的高度为四行。此方法适用于 Vue.js 和基于它的框架如 Element UI 等场景下使用 `avue-crud` 进行快速开发的需求。 另外需要注意的是,如果希望进一步定制化外观或者交互逻辑,则可能还需要结合 CSS 样式或者其他前端技术手段共同实现更复杂的功能需求。 #### 示例代码 下面给出完整的示例代码以便更好地理解实际操作过程: ```vue <template> <div> <!-- 使用 avue-crud --> <avue-crud :option="option" /> </div> </template> <script> export default { data() { return { option: { column: [ { label: "标题", prop: "title" }, { label: "详情介绍", prop: "details", type: "textarea", props:{ rows:6 // 自定义文本区显示行数 } } ] } }; } }; </script> ``` 在此例子中,“详情介绍”这一栏被设为了一个多行文本框,并且设置了六行作为默认高度。 --- #### 注意事项 虽然以上介绍了基本用法,但在某些特殊情况下可能会遇到一些兼容性问题或者是特定版本之间的差异,请务必参照官方文档最新版指南来进行调试优化工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值