From 9c7786b203c65e5a0c0dcf08248bf1308b6f7408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=A5=95?= Date: Tue, 13 Dec 2016 22:42:01 +0800 Subject: [PATCH] Select: add size property (#1715) --- examples/docs/en-US/select.md | 1 + examples/docs/zh-CN/select.md | 1 + packages/select/src/select.vue | 20 +++++++++++++++++++- packages/theme-default/src/select.css | 9 +++++++-- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/examples/docs/en-US/select.md b/examples/docs/en-US/select.md index cfece36c8..4d15adcbb 100644 --- a/examples/docs/en-US/select.md +++ b/examples/docs/en-US/select.md @@ -626,6 +626,7 @@ Create and select new items that are not included in select options |---------- |-------------- |---------- |-------------------------------- |-------- | | multiple | whether multiple-select is activated | boolean | — | false | | disabled | whether Select is disabled | boolean | — | false | +| size | size of Input | string | large/small/mini | — | | clearable | whether single select can be cleared | boolean | — | false | | multiple-limit | maximum number of options user can select when `multiple` is `true`. No limit when set to 0 | number | — | 0 | | name | the name attribute of select input | string | — | — | diff --git a/examples/docs/zh-CN/select.md b/examples/docs/zh-CN/select.md index 4e690276b..ba7325316 100644 --- a/examples/docs/zh-CN/select.md +++ b/examples/docs/zh-CN/select.md @@ -628,6 +628,7 @@ |---------- |-------------- |---------- |-------------------------------- |-------- | | multiple | 是否多选 | boolean | — | false | | disabled | 是否禁用 | boolean | — | false | +| size | 输入框尺寸 | string | large/small/mini | — | | clearable | 单选时是否可以清空选项 | boolean | — | false | | multiple-limit | 多选时用户最多可以选择的项目数,为 0 则不限制 | number | — | 0 | | name | select input 的 name 属性 | string | — | — | diff --git a/packages/select/src/select.vue b/packages/select/src/select.vue index 22b0dd4c5..6f7045d52 100644 --- a/packages/select/src/select.vue +++ b/packages/select/src/select.vue @@ -24,6 +24,7 @@ { let inputChildNodes = this.$refs.reference.$el.childNodes; let input = [].filter.call(inputChildNodes, item => item.tagName === 'INPUT')[0]; - input.style.height = Math.max(this.$refs.tags.clientHeight + 6, this.size === 'small' ? 28 : 36) + 'px'; + input.style.height = Math.max(this.$refs.tags.clientHeight + 6, sizeMap[this.size] || 36) + 'px'; this.broadcast('ElSelectDropdown', 'updatePopper'); }); }, diff --git a/packages/theme-default/src/select.css b/packages/theme-default/src/select.css index 60dd879a9..d5a573428 100644 --- a/packages/theme-default/src/select.css +++ b/packages/theme-default/src/select.css @@ -71,13 +71,16 @@ border: none; outline: none; padding: 0; - margin: 4px 0 -3px 10px; + margin-left: 10px; color: var(--select-multiple-input-color); font-size: var(--select-font-size); vertical-align: baseline; appearance: none; height: 28px; background-color: transparent; + @when mini { + height: 14px; + } } @e close { @@ -100,6 +103,8 @@ line-height: normal; white-space: normal; z-index: var(--index-top); + top: 50%; + transform: translateY(-50%); } & .el-tag__close { @@ -110,7 +115,7 @@ height: var(--select-tag-height); line-height: var(--select-tag-height); box-sizing: border-box; - margin: 6px 0 0 6px; + margin: 3px 0 3px 6px; } @e tag {