列表中加,减,上下移操作列

该博客展示了如何在Vue.js应用中实现表格数据的动态操作,包括通过输入框和下拉框添加、删除、上移和下移列表项,并提供了数据绑定和事件处理的示例代码。主要涉及Vue组件、表单元素、数据模型及数组操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表中加,减,上下移操作列

效果图:
在这里插入图片描述

  <div>
    <el-form :inline="true" :model="formInline" class="demo-form-inline">
      <el-form-item label="模板名称">
        <el-input v-model="formInline.user" placeholder="审批人"></el-input>
      </el-form-item>
      <el-form-item label="模板类型">
        <el-select v-model="formInline.region" placeholder="活动区域">
          <el-option label="区域一" value="shanghai"></el-option>
          <el-option label="区域二" value="beijing"></el-option>
        </el-select>
      </el-form-item>
    </el-form>
    <div class="contentWrapper">
      <div class="contentTitle">
        <span class="quotaName">指标名称</span>
        <span class="quotaType">指标阀值</span>
        <span class="quotaRet">指标包含关系</span>
      </div>
      <div class="singleContent" v-for="(ele,index) in quotaList" :key="index">
        <div class="nameSelect">
          <el-select v-model="ele.quotaName" placeholder="请选择">
            <el-option
              v-for="item in quotaName"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
        </div>
        <div class="typeSelect">
          <el-select v-model="ele.quotaType" placeholder="请选择">
            <el-option
              v-for="item in quotaType"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
          <el-input
            width="60px"
            v-model="ele.quotaNum"
            placeholder="请输入内容"
          ></el-input>
        </div>
        <div class="relationsSelect">
          <el-select v-model="ele.quataRa" placeholder="请选择">
            <el-option value="且"></el-option>
            <el-option value="或"></el-option>
          </el-select>
          <div class="btnWrapper">
            <el-button  @click="addQuota"></el-button>
            <el-button @click="reduceQuota(index)"></el-button>
            <el-button v-show="index!=0" @click="upQuota(index)">上移</el-button>
            <el-button v-show="(index+1)!=quotaList.length" @click="downQuota(index)">下移</el-button>
            <el-button @click="clearQuota(ele,inedx)">清空</el-button>
          </div>
        </div>
      </div>
    </div>
  </div>


————————————————————————————————————————————————————————————————————————

........

 data() {
    return {
      formInline: {
        user: "",
        region: "",
      },
      quotaObj:{
        quotaName:'',quotaType:'',quotaNum:'',quotaRa:''
      },
      quotaList: [{
        quotaName:'',quotaType:'',quotaNum:'',quotaRa:''
      }],
      quotaName: [
        {
          value: "选项1",
          label: "黄金糕",
        },
        {
          value: "选项2",
          label: "双皮奶",
        },
        {
          value: "选项3",
          label: "蚵仔煎",
        },
      ],
      quotaType: [
        {
          value: "大于",
          label: "大于",
        },
        {
          value: "小于",
          label: "-小于",
        },
        {
          value: "等于",
          label: "等于",
        },
      ],
    };
  },
  methods: {
    // 添加
    addQuota(){
      this.quotaList.push(JSON.parse(JSON.stringify(this.quotaObj)) )
    },
    // 删去
    reduceQuota(i){
      this.quotaList=this.quotaList.filter((item,index)=>(
        i!=index
      ))
      console.log(this.quotaList)
    },
    // 上移
    upQuota(i){
      this.quotaList[i]= this.quotaList.splice(i-1,1,this.quotaList[i])[0]
    },
    //下移
    downQuota(i){
      this.quotaList[i]= this.quotaList.splice(i+1,1,this.quotaList[i])[0]
    },
    // 清空
    clearQuota(obj,i){
      for(let key in obj){

         obj[key]  = ''

     }
     this.quotaList[i] = obj
    }
  },
在C++中,我们可以通过回调函数来实现加乘除的操作。这通常需要我们自己编写一个函数或类来处理这些操作,并通过回调函数来获取结果。下面是一个简单的示例: 首先,我们需要定义一个处理加乘除操作的函数。这个函数可能会接受两个参数(用于加法或法)或三个参数(用于乘法或除法),并返回结果。 ```cpp // 加法函数 double add(double a, double b, double (*callback)(double)) { return a + b; } // 法函数 double subtract(double a, double b, double (*callback)(double)) { return a - b; } // 乘法函数 double multiply(double a, double b, double (*callback)(double)) { return a * b; } // 除法函数 double divide(double a, double b, double (*callback)(double)) { if (b == 0) { throw std::invalid_argument("Cannot divide by zero"); } return a / b; } ``` 然后,我们可以在回调函数中添加对输入的求值,以及计算的结果。这里,我们将回调函数定义为一个`std::function`对象,它允许我们传递任何类型的函数作为参数。 ```cpp // 回调函数模板 template <typename ResultType> void callback(ResultType result) { // 在这里处理结果,例如打印出来或者保存到变量中 std::cout << "Result: " << result << std::endl; } ``` 接下来,我们就可以通过调用上述函数和回调模板来实现加乘除的操作。下面是一个使用示例: ```cpp int main() { // 加法操作,并传递回调函数处理结果 double result = add(5.0, 3.0, [](double x){ return x * 2; }); callback<double>(result); // 输出:Result: 10.0 // 操作,并传递回调函数处理结果 result = subtract(5.0, 3.0, [](double x){ return x * 2; }); callback<double>(result); // 输出:Result: 1.0 // 乘法操作,并传递回调函数处理结果 result = multiply(5.0, 3.0, callback<double>); // 直接调用回调函数模板,无需传递参数 callback<double>(result); // 输出:Result: 15.0 // 除法操作,并传递回调函数处理结果(注意这里需要检查除数是否为零) try { result = divide(5.0, 3.0, callback<double>); // 直接调用回调函数模板,无需传递参数 callback<double>(result); // 输出:Result: 1.6666666666666667,实际结果应为1.66666666667,但这里为了演示没有做精度处理 } catch (const std::invalid_argument& e) { std::cout << "Error: " << e.what() << std::endl; // 输出错误信息:Cannot divide by zero } return 0; } ``` 以上就是一个简单的使用回调函数实现加乘除操作的示例。在实际应用中,你可能需要根据具体需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值