七日下拉菜单中有输入框,该如何实现?

产品提的需求,如下:
1.下拉框可选择指定日期、周、月、
2.如果没有指定的,则可输入

七日下拉菜单中有输入框,该如何实现?
七日下拉菜单中有输入框,该如何实现?

目前用的是element,已经按照element文档做到这种程度了,奈何下拉框中的输入框就不能实现
七日下拉菜单中有输入框,该如何实现?

目前代码:

<div id="app">

<template>

<el-select v-model="value" placeholder="7日" >

<el-option-group

v-for="group in options"

:key="group.label"

:label="group.label">

<el-option

v-for="item in group.options"

:key="item.value"

:label="item.label"

:value="item.value">

</el-option>

</el-option-group>

</el-select>

</template>

</div>

<script>

var Main = {

data() {

return {

options: [{

label: '日',

options: [{

value: '0',

label: '当日'

}, {

value: '1',

label: '次日'

},{

value: '7',

label: '7日'

},{

value: '14',

label: '14日'

}]

}, {

label: '周',

options: [{

value: '7-week',

label: '当周'

}, {

value: '14-week',

label: '次周'

}, {

value: '28-week',

label: '4周'

}, {

value: '56-week',

label: '8周'

}]

}, {

label: '月',

options: [{

value: '30-mon',

label: '当月'

}, {

value: '60-mon',

label: '次月'

}, {

value: '90-mon',

label: '3月'

}, {

value: '180-mon',

label: '6月'

}]

}],

value: ''

};

}

};

var Ctor = Vue.extend(Main)

new Ctor().$mount('#app')

</script>

我是个小后端,前端真的不太会,求各位大佬支招~ 在线等

尝试了一下网上的写法,只能实现到这种地步了,我真的尽力了,期待大神的解答:
七日下拉菜单中有输入框,该如何实现?

真的是不会了

代码如下:

                <el-select v-model="value" placeholder="7日" >

<el-option-group

v-for="group in options"

:key="group.label"

:label="group.label">

<el-option

v-for="item in group.options"

:key="item.value"

:label="item.label"

:value="item.value">

</el-option>

<el-input

v-for="item in group.options"

v-if="item.value === 'input'"

placeholder="请输入内容"

@keyup.esc.native="cancel(scope.$index, scope.row)">

</el-input>

</el-option-group>

</el-select>

<script>

options: [{

label: '日',

options: [{

value: '0',

label: '当日'

}, {

value: '1',

label: '次日'

},{

value: '7',

label: '7日'

},{

value: '14',

label: '14日'

},{

value: 'input',

label: '请输入'

}]

}, {

label: '周',

options: [{

value: '7-week',

label: '当周'

}, {

value: '14-week',

label: '次周'

}, {

value: '28-week',

label: '4周'

}, {

value: '56-week',

label: '8周'

},{

value: 'input',

label: '请输入'

}]

}, {

label: '月',

options: [{

value: '30-mon',

label: '当月'

}, {

value: '60-mon',

label: '次月'

}, {

value: '90-mon',

label: '3月'

}, {

value: '180-mon',

label: '6月'

}]

}],


回答:

如果你坚持要用element的话,可以根据源码一个定制特殊的Option组件。


回答:

下班了,给你提供一个简单的思路
七日下拉菜单中有输入框,该如何实现?

途中尝试了拦截 <el-input> 元素点击事件的冒泡,但是不行。
所以试了一下 鼠标悬停,简单的实现了。没有去看源码。不过你可以去找一找。

下拉框组件的源码在这里 element/packages/select/src at dev · ElemeFE/element

以上是 七日下拉菜单中有输入框,该如何实现? 的全部内容, 来源链接: utcz.com/p/933142.html

回到顶部