当前位置: 首页 > news >正文

有做装修效果图赚钱的网站吗宁波网站建设 泊浮科技

有做装修效果图赚钱的网站吗,宁波网站建设 泊浮科技,浙江最近爆发的传染病,劳务网站有做吗前言 最近开发项目使用element-plus库内的select组件,其中有提供一个创建新的选项的用法,但是发现一些小问题,在此记录 版本 “element-plus”: “^2.3.9”, “vue”: “^3.3.4”, 问题 1、在options数据源中无数据的时候,在输入框…

前言

最近开发项目使用element-plus库内的select组件,其中有提供一个创建新的选项的用法,但是发现一些小问题,在此记录

版本

“element-plus”: “^2.3.9”,
“vue”: “^3.3.4”,

问题

1、在options数据源中无数据的时候,在输入框中输入要创建的选项,ele会自动帮我们选中第一条,然后回车后会自动给绑定值中push进一条数据进去
2、但是options数据源中有数据的时候,若输入框中的值可以匹配上数据源的话回车后会自动选中,但是再无数据的时候需要回车后创建数据却无法选中

解决办法

有数据源的情况下直接监听回车事件,再敲击回车后后获取到输入框中的值手动将值添加进去

代码如下

<script setup>
import { ref } from 'vue'
const options = ref([{value: 'HTML',label: 'HTML',},{value: 'CSS',label: 'CSS',},{value: 'JavaScript',label: 'JavaScript',},
])
const selectValue = ref([])
// 获取select实例
const selectRef = ref(null)
// 监听select回车事件
const selectCreate = function() {// 当options数据源中无值的话,回车后elementplus是可以正常新增的,无需手动添加if (options.value.length === 0) return// 通过select实例获取到内部input节点const inputDom = selectRef.value.input// 通过input节点获取到输入值const domValue = inputDom.value// 过滤掉空的数据if (!domValue) return// 将输入值手动push进selectValue中selectValue.value.push(domValue)// 最后将input中的值清空即可selectRef.value.input = ''
}</script><template><el-select ref="selectRef" v-model="selectValue" multiple filterable allow-create default-first-option :reserve-keyword="false" placeholder="回车后创建" @keyup.enter.native="selectCreate"><el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"/></el-select>
</template><style scoped>
</style>

拓展

既然是创建新选项,但是在创建完成后数据源中却没有新增出来一条,不知道你们是否跟我有同样的疑问,可能是因为新创建出来的选项并非属于原有数据源所以ele开发人员才并未提供可以直接加入到数据源中的api吧
既然我们都可以通过获取实例的方式获取到input中当前输入的值了,那么直接改造一下,手动加进去不就行了吗
代码如下

<script setup>
import { ref } from 'vue'const options = ref([])
// 拓展,既然可以获取到数据框中的值了,那么在回车创建完选项后,顺带在数据源中也新增一条数据也是可以的,毕竟这样才更加符合创建了一个新的选项
const selectValue = ref([])
// 获取select实例
const selectRef = ref(null)
// 监听select回车事件
const selectCreate = function() {// 当options数据源中无值的话,回车后elementplus是可以正常新增的,无需手动添加,且监听到回车后input值也是空的if (options.value.length === 0) return// 通过select实例获取到内部input节点const inputDom = selectRef.value.input// 通过input节点获取到输入值const domValue = inputDom.value// 过滤掉空的数据if (!domValue) return// 将输入值手动push进selectValue中selectValue.value.push(domValue)// 手动在数据源中也新增一条进去options.value.push({value: selectRef.value.input.value,label: selectRef.value.input.value});// 最后将input中的值清空即可selectRef.value.input = ''
}
// 选项被选中后回调
const selectChange = function(seleItem) {const data = seleItem[seleItem.length - 1]if (!data) return// 判断数据源中没有的话,手动加入if (options.value.every(item => item.value !== data)) {options.value.push({value: data,label: data});}
}</script><template><el-select ref="selectRef" v-model="selectValue" multiple filterable allow-create default-first-option :reserve-keyword="false" placeholder="回车后创建" @keyup.enter.native="selectCreate" @change="selectChange"><el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"/></el-select>
</template><style scoped>
</style>
http://www.yayakq.cn/news/613925/

相关文章:

  • 苍溪网站建设制作怎样重新安装电脑wordpress
  • flask api式网站开发全屏网站模板
  • 官方网站建设公司专业外包网站建设公司排名
  • ic交易网站建设简约个人网站
  • 网站后台cms北京it培训机构
  • 深圳信科做网站wordpress文章相关推荐
  • 网站色调代号装修设计公司网站有哪些
  • 全国招聘网站排名如何做网站的流量分析
  • 做vr网站推广策略英文
  • 娄底优秀网站建设WordPress内链转外链
  • 学做网站记不住代码石家庄本地招聘信息网
  • 外贸推广app网站seo推广排名
  • 广元北京网站建设wordpress 加载 蛮
  • 网页制作官方网站网络公司注册资金最低标准
  • 无极网站网站玖玖玖人力资源有限公司
  • 仙桃企业网站建设网站制作维护
  • 拖拽网站怎么做的山东seo网页优化外包
  • 福建个人网站备案网络推广的方案怎么写
  • 做静态头像网站网站设计英文报告
  • 门户网站建设摘要手机网站建设教程视频
  • 加强心理咨询网站的建设方案专门做游戏的网站
  • 国际知名的论文网站wordpress 主题导出
  • 哪里有网站推广优化中小企业经营管理培训班
  • 网站 流量攻击怎么办曲靖高端网站制作
  • 网站设计英文网络营销推广的应用场景
  • 如何运营好一个网站价格网如何查产品价格
  • 雅加达网站建设公司网站策划方案
  • 给企业做网站怎么收钱软件开发用什么软件编程
  • 做受免费网站百度搜索竞价排名
  • 企业网站长度网站整站下载器下载utf8网页乱码