【无标题】

复制代码
<el-button size="mini" type="primary"  @click="addHang"
      >增加一行</el-button>
    <!-- <el-form ref="addFormRef" :model="addFormData" :rules="addFormRules" size="mini" :inline="true"> -->
			<el-table tooltip-effect="light" :data="addFormData.productList" border
      class="table"
      style="width: 100%"
      :row-style="{ height: '15px' }"
            >
        <el-table-column label="序号"
          type="index"
          width="100"
          align="center"
          >
        </el-table-column>
        <el-table-column label="名称" prop="productuser"  align="center">
          <template slot-scope="scope">
            <!-- <el-form-item size="mini" :prop="'productList.' + scope.$index + '.productuser'"
              :rules="addFormRules.productuser" class="all" style="width: 100%;height: 100%;"> -->
              <el-input   v-model="scope.row.productuser" placeholder="" clearable  class="Tinput"></el-input>
            <!-- </el-form-item> -->
          </template>
        </el-table-column>
				<el-table-column label="规格型号" prop="productName"  align="center">
					<template slot-scope="scope">
						<!-- <el-form-item size="mini" :prop="'productList.' + scope.$index + '.productName'"
							:rules="addFormRules.productName" class="all"> -->
							<el-select v-model="scope.row.productName" filterable value-key="id" placeholder="请选择" 
								@change="pestChange($event, scope.$index)">
								<el-option v-for="item in optionsList" :key="item.id" :label="item.productName"
									:value="item">
								</el-option>
							</el-select>
						<!-- </el-form-item> -->
					</template>
				</el-table-column>
        <el-table-column label="数量" prop="quantity"   align="center">
          <template slot-scope="scope">
            <!-- <el-form-item size="mini" :prop="'productList.' + scope.$index + '.quantity'"
              :rules="addFormRules.quantity" class="all"> -->
              <el-input  v-model="scope.row.quantity" placeholder="" clearable ></el-input>
            <!-- </el-form-item> -->
          </template>
        </el-table-column>
        <el-table-column label="图片" prop="tup"   align="center">
            <!-- <ImageUpload></ImageUpload> -->
        </el-table-column>
				<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"
					width="150">
					<template slot-scope="scope">
						<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdateYes(scope.row)"
							v-hasPermi="['system:order:edit']">增加</el-button>
						<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteProduct(scope.row)"
							v-hasPermi="['system:order:remove']">删除</el-button>
					</template>
				</el-table-column> -->
			</el-table>

js
data(){
    return{
             addFormData: {
				// 产品列表
		    productList: [
//默认展示一行,就写一组数据
              {	productName: '',//规格型号
              productuser:'',
              quantity:''},
                           ],
			   },
    }
}



    methods: {
//点击按钮添加空行
      addHang(){
        this.$nextTick(() => {
			this.addFormData.productList.push({
				productName: '',//规格型号
        productuser:'',//名称
        quantity:''
			})
		})
      }}


    // 再增加一行复用上一行的数据
    handleUpdateYes(row) {
            //拿到上一行数据再往数组中push()新的数据
			this.addFormData.productList.push({
				productName: row.productName,//产品名称
				price: row.price,//单价(元/㎡)
				productCount: row.productCount, //产品件数
				totalAmount: '', //小计¥元
			})
		},

css





<style lang="scss" scoped>
 ::v-deep .inputDeep  .el-input__inner {
  border: none !important;

box-shadow: none !important;

padding: 0px; 

}
 ::v-deep .textareaDeep  .el-textarea__inner {
  border: none !important;

box-shadow: none !important;

padding: 0px; 

}
::v-deep .el-select{
  width: 100%;
}
::v-deep .seletDeep .el-input__inner{
  border: none !important;

box-shadow: none !important;

padding: 0px; 
}
::v-deep .el-form-item__content {
  width: 100%;
  height: 100%;
  margin:0
}
::v-deep .all .el-input__inner {
  border: none !important;

box-shadow: none !important;

padding: 0px; 
border: none !important;

box-shadow: none !important;

padding: 0px; 
}
::v-deep .el-table_1_column_2 is-center .cell{
height: 100%;
}
</style>

效果默认展示一行

点击按钮可以添加行

相关推荐
灰太狼大大王2 分钟前
2026 前端基石:HTML5 全景知识体系指南(从入门到架构师思维)
前端
米丘2 分钟前
vue-router 5.x 文件式路由
前端·vue.js
始持2 分钟前
第十五讲 本地存储
前端·flutter
不甜情歌3 分钟前
JS 拷贝:浅拷贝 / 深拷贝原理 + 常用方法
前端·javascript
敲代码的约德尔人3 分钟前
Vue 3 响应式系统完全指南:我在 4 个项目中踩坑后总结的血泪经验
前端·vue.js
Fisschl3 分钟前
在 Vue 中使用 i18n 国际化
vue.js
始持4 分钟前
第十四讲 网络请求与数据解析
前端·flutter
Roselind_Yi4 分钟前
技术拆解:《从音频到动效:我是如何用 Web Audio API 拆解音乐的?》
前端·javascript·人工智能·音视频·语音识别·实时音视频·audiolm
和科比合砍81分4 分钟前
pnpm:public-hoist-pattern[]配置
前端
我叫黑大帅5 分钟前
Js常用数组处理
前端·javascript·面试