vue3-ts- element-plus新增组件-过滤

新增组件-所有值为空时过滤

html 复制代码
 <el-form-item label="家庭成员">
        <div
          class="username-box"
          v-for="(item, index) in form.namelist"
          :key="index"
        >
          <div>
            姓名:
            <el-input v-model="item.name" placeholder="姓名"></el-input>
          </div>
          <div>
            性别:
            <el-select
              v-model="item.ger"
              class="m-2"
              placeholder="性别"
              size="large"
            >
              <el-option
                v-for="item in opget"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              />
            </el-select>
          </div>
          <div>
            年龄:
            <el-input v-model="item.age" placeholder="年龄"></el-input>
          </div>
          <div>
            <el-button type="warning" @click.prevent="removeDomain(item)">
              删除
            </el-button>
          </div>
        </div>
        <div>
          <el-button
            type="success"
            :icon="Plus"
            circle
            @click="addDomain()"
          ></el-button>
        </div>
</el-form-item>
css 复制代码
<style lang="less" scoped>
.username-box {
  display: flex;
  align-items: flex-end;
  div {
    margin-right: 10px;
    .el-input {
      width: 200px;
    }
  }
}
</style>
TypeScript 复制代码
<script setup lang="ts">
import {  reactive  } from 'vue'
import { Plus, Check } from '@element-plus/icons-vue'
javascript 复制代码
const form = reactive({
  namelist: [
    {
      name: '',
      age: '',
      ger: '',
    },
  ],
})
javascript 复制代码
const opget = [
  { value: '0', label: '女' },
  { value: '1', label: '男' },
]
javascript 复制代码
const addDomain = () => {
  console.log('添加成员')
  form.namelist.push({ name: '', age: '', ger: '' })
}
const removeDomain = (item) => {
  const index = form.namelist.indexOf(item)
  if (index !== -1) {
    form.namelist.splice(index, 1)
  }
}

提交:

javascript 复制代码
function handleOk() {
  const filteredList = form.namelist.filter((item) => {
    const values = Object.values(item)
    return !values.every((value) => value === '') //判断所有值为空
  })
  form.namelist = filteredList
}
相关推荐
namehu4 分钟前
前端性能优化之:图片缩放 🚀
前端·性能优化·微信小程序
rit84324997 分钟前
ES6 箭头函数:告别 `this` 的困扰
开发语言·javascript·es6
摸鱼的春哥10 分钟前
【编程】是什么编程思想,让老板对小伙怒飙英文?Are you OK?
前端·javascript·后端
尘世中一位迷途小书童11 分钟前
版本管理实战:Changeset 工作流完全指南(含中英文对照)
前端·面试·架构
尘世中一位迷途小书童15 分钟前
VitePress 文档站点:打造专业级组件文档(含交互式示例)
前端·架构·前端框架
甜瓜看代码15 分钟前
666
前端
吃饺子不吃馅20 分钟前
【八股汇总,背就完事】这一次再也不怕webpack面试了
前端·面试·webpack
Amos_Web28 分钟前
Rust实战教程--文件管理命令行工具
前端·rust·全栈
li理36 分钟前
鸿蒙相机开发入门篇(官方实践版)
前端
webxin66637 分钟前
页面动画和延迟加载动画的实现
前端·javascript