最小的 el‐dialog - daniel-qa/Vue GitHub Wiki
利用 el-row,將所有元素併列成一行
利用 el-col 的 span ,進行欄寬控制
再把 dialog 中的 header,body,高度都調到最小( 保留1px ,因設0會有樣式錯誤的潛在問題)
<!--修改時間-彈框-->
<el-dialog v-model="dialogModifyTimeVisible" class="dialogModifyTimeStyle">
<el-row justify="center" align="middle" style="height:50px; width:550px;">
<el-col :span="6">
修改預約發送時間
</el-col>
<el-col :span="11">
<el-date-picker v-model="selectedDate"
type="datetime"
placeholder="選擇日期與時間"
format="YYYY-MM-DD HH:mm"
value-format="x"
:editable="false"
@change="updateMessage" />
</el-col>
<el-col :span="7">
<el-button @click="dialogModifyTimeVisible = false">取消</el-button>
<el-button type="primary" @click="saveSendTime(selectedDate)">确定</el-button>
</el-col>
</el-row>
</el-dialog>
<style>
/* 全域生效,非 scoped */
.dialogModifyTimeStyle {
border-radius: 12px;
background-color: #f9f9f9;
height:150px; /* 不要強制固定高度,讓內容自適應 */
width: 600px;
padding-left:10px;
}
.dialogModifyTimeStyle .el-dialog__header {
padding:0px;
margin:0px;
height: 1px; /* 不要強制固定高度,讓內容自適應 */
}
.dialogModifyTimeStyle .el-dialog__body {
padding: 0px;
margin: 0px;
height: 1px; /* 不要強制固定高度,讓內容自適應 */
}
</style>
P.S
因每個 el-plus 元件,是預設資料佔用空間大小去設計,所以太小量的資料,會有留白太多的問題
所以儘量用符合設計概念上,相對應的 el-plus 元件,去做設計開發,比較不會有問題
像 el-row, el-row,就是設計用來作小範圍的資料顯示控制,所以適合拿來操作
el-plus 的元件都支援組合開發,可以在內部放入更細部控制的 el-plus 元件,以利 UI 介面開發。